HeapAlloc with error: The data area passed to a system call is too small.
Hi there,
What's the problem with the code below? It results in the error after calling HeapAlloc(hDictMem, HEAP_ZERO_MEMORY, 0x80000L):
The data area passed to a system call is too small.
But if 0x80000L is changed to 0x7e000L, then it works.
Code:
// allocate memory for input method dictionaries
hDictMem = (HANDLE) HeapCreate(HEAP_NO_SERIALIZE, 0x80016L, 0x80016L);
if (NULL == hDictMem)
{
ErrorHandler();
return (FALSE);
}
pDictMem = (LPSTR) HeapAlloc(hDictMem, HEAP_ZERO_MEMORY, 0x80000L);
if (NULL == pDictMem)
{
ErrorHandler();
return (FALSE);
}
Thanks,