Platform SDK: DLLs, Processes, and Threads

WOWGetVDMPointer

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

LPVOID WINAPI WOWGetVDMPointer(
  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 function is invalid, the return value is NULL.

Remarks

Windows NT/Windows 2000: Limit checking is performed only in the checked (debugging) build of WOW32.DLL, which will cause NULL to be returned when the limit is exceeded by the supplied offset.

Windows 95/98: This function should never be used on a 16-bit global memory handle selector that has not been previously fixed in memory by using the GlobalFix or GlobalWire function. You should assume that global compaction can occur at any time the Win16Mutex is not owned by the current thread.

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