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.
 
 
 
 
 
 

77 lines
1.7 KiB

//+---------------------------------------------------------------------------
//
// 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__