Platform SDK: DLLs, Processes, and Threads

WOWGetVDMPointerFix

The WOWGetVDMPointerFix function converts a 16:16 address to the equivalent linear address. This function can only be called in the context of a thunk.

Windows 95/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/Windows 2000: 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
);

Parameters

vp
[in] Valid 16:16 address.
dwBytes
[in] Size of the block pointed to by vp.
fProtectedMode
[in] Specifies the mode. This parameter can be one of the following values.
Value Description
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).

Return Values

Returns a 32-bit address if successful. If the selector is invalid, the return value is NULL.

Requirements

  Windows NT/2000: Requires Windows NT 3.1 or later.
  Windows 95/98: Requires Windows 95 or later.
  Header: Declared in Wownt32.h.
  Library: Included as a resource in Wow32.dll.

See Also

Generic Thunks Overview, 32-bit Generic Thunk Functions, WOWGetVDMPointer