The WOWGetVDMPointerFix function converts a 16:16 address to the equivalent linear address.
Windows 95 and Windows 98: This function calls the GlobalFix function before returning the linear address so that the 16-bit memory block will not be moved around in the 16-bit global heap.
Windows NT: This function behaves like the WOWGetVDMPointer function. The memory is not fixed.
LPVOID WINAPI WOWGetVDMPointerFix(
DWORD vp, // 16:16 address
DWORD dwBytes, // size of vp block
BOOL fProtectedMode // protected mode flag
);
1 | The upper 16 bits are treated as a selector in the local descriptor table (16-bit protected mode pointer). |
0 | The upper 16 bits are treated as a real-mode segment value (real-mode 16:16 pointer). |
Returns a 32-bit address if successful. If the selector is invalid, the return value is NULL.