IN SIZE_T HeapInformationLength);
#define LMEM_FIXED 0x0000
+#define LMEM_MOVEABLE 0x0002
#define LMEM_ZEROINIT 0x0040
#define LPTR (LMEM_FIXED | LMEM_ZEROINIT)
PALIMPORT
HLOCAL
PALAPI
+LocalReAlloc(
+ IN HLOCAL hMem,
+ IN SIZE_T uBytes,
+ IN UINT uFlags);
+
+PALIMPORT
+HLOCAL
+PALAPI
LocalFree(
IN HLOCAL hMem);
return (HLOCAL) lpRetVal;
}
+/*++
+Function:
+LocalReAlloc
+
+See MSDN doc.
+--*/
+HLOCAL
+PALAPI
+LocalReAlloc(
+ IN HLOCAL hMem,
+ IN SIZE_T uBytes,
+ IN UINT uFlags)
+{
+ LPVOID lpRetVal = NULL;
+ PERF_ENTRY(LocalReAlloc);
+ ENTRY("LocalReAlloc (hMem=%p, uBytes=%u, uFlags=%#x)\n", hMem, uBytes, uFlags);
+
+ if (uFlags != LMEM_MOVEABLE) {
+ // Currently valid iff uFlags is LMEM_MOVEABLE
+ ASSERT("Invalid parameter uFlags=0x%x\n", uFlags);
+ SetLastError(ERROR_INVALID_PARAMETER);
+ goto done;
+ }
+ uFlags = 0;
+
+ lpRetVal = HeapReAlloc(GetProcessHeap(), uFlags, hMem, uBytes);
+
+done:
+ LOGEXIT("LocalReAlloc returning %p.\n", lpRetVal);
+ PERF_EXIT(LocalReAlloc);
+ return (HLOCAL)lpRetVal;
+}
/*++
Function: