Use new read(Embedded)Buffer API.

Bug: 34134129
Test: hidl_test
Change-Id: Iad3f9d4dd30b4b8b92295816fbed25c56e52fb0a
diff --git a/MemoryType.cpp b/MemoryType.cpp
index 857bf05..3243cd4 100644
--- a/MemoryType.cpp
+++ b/MemoryType.cpp
@@ -63,25 +63,16 @@
         parcelObj + (parcelObjIsPointer ? "->" : ".");
 
     if (isReader) {
-        out << name
-            << " = (const ::android::hardware::hidl_memory *)"
+        out << "_hidl_err = "
             << parcelObjDeref
-            << "readBuffer("
-            << "&"
+            << "readBuffer(&"
             << parentName
-            << ");\n";
+            << ", "
+            << " reinterpret_cast<const void **>("
+            << "&" << name
+            << "));\n\n";
 
-        out << "if ("
-            << name
-            << " == nullptr) {\n";
-
-        out.indent();
-
-        out << "_hidl_err = ::android::UNKNOWN_ERROR;\n";
-        handleError2(out, mode);
-
-        out.unindent();
-        out << "}\n\n";
+        handleError(out, mode);
     } else {
         out << "_hidl_err = "
             << parcelObjDeref