Leaked source code of windows server 2003
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
//+---------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 1992 - 1993.
//
// File: wow32fn.h
//
// Contents: WOW 32-bit private function declarations
//
// History: 18-Feb-94 DrewB Created
//
//----------------------------------------------------------------------------
#ifndef __WOW32FN_H__
#define __WOW32FN_H__
//
// WOW types
//
// 'V'DM pointers
typedef DWORD VPVOID; typedef DWORD VPSTR;
typedef HANDLE HAND32; typedef WORD HAND16;
typedef HAND16 HMEM16; typedef HAND16 HWND16; typedef HAND16 HDC16; typedef HAND16 HRGN16; typedef HAND16 HMENU16; typedef HAND16 HICON16; typedef HAND16 HBITMAP16; typedef HAND16 HACCEL16; typedef HAND16 HTASK16; typedef HAND16 HMETAFILE16;
#ifdef __cplusplus
extern "C" { #endif
// Macros to handle conversion of 16:16 pointers to 0:32 pointers
// On NT this mapping is guaranteed to stay stable in a WOW process
// as long as a 32->16 transition doesn't occur
//
#define WOWFIXVDMPTR(vp, cb) WOWGetVDMPointer(vp, cb, TRUE)
#define WOWRELVDMPTR(vp) (vp)
#define FIXVDMPTR(vp, type) \
(type UNALIGNED *)WOWFIXVDMPTR(vp, sizeof(type)) #define RELVDMPTR(vp) \
WOWRELVDMPTR(vp)
HAND16 CopyDropFilesFrom32(HANDLE h32); HANDLE CopyDropFilesFrom16(HAND16 h16);
#ifdef __cplusplus
} #endif
// 16-bit HGLOBAL tracking functions
#if DBG == 1
VPVOID WgtAllocLock(WORD wFlags, DWORD cb, HMEM16 *ph); void WgtUnlockFree(VPVOID vpv); void WgtDump(void); #else
#define WgtAllocLock(wFlags, cb, ph) \
WOWGlobalAllocLock16(wFlags, cb, ph) #define WgtUnlockFree(vpv) \
WOWGlobalUnlockFree16(vpv) #define WgtDump()
#endif
#endif // #ifndef __WOW32FN_H__
|