BOOL VDDAllocMem(hVdd, Address, Size)
IN HANDLE hVdd;
IN PVOID Address;
IN DWORD Size;
VDDAllocMem allocates memory at a given virtual address.
Parameters
hVdd
Identifies the VDD.
Address
Specifies the address between 640K and 1MB where memory will be allocated.
Size
Specifies the number of bytes of memory to allocate.
Return Value
VDDAllocMem returns TRUE if successful. If the function fails then FALSE is returned and an error is logged.
The extended error codes are:
Value | Meaning |
ERROR_OUTOFMEMORY | Indicates insufficient memory error. |
ERROR_INVALID_ADDRESS | Identifies invalid address error. |
Comments
VDDs must use this function instead of VirtualAlloc (see the Win32 SDK) to allocate memory.
Address is page-aligned downwards, and Size is stretched upward to be page-aligned.
Address is relative to DOS 0:0. GetVDMPointer should not be called on this address before calling VDDAllocMem.
This address is the same as that provided by the hook handler for memory-mapped I/O.
See Also
GetVDMPointer