| /* | 
 |  * WOW Generic Thunk API  | 
 |  * | 
 |  * Copyright (C) 1999 Ulrich Weigand | 
 |  * | 
 |  * This library is free software; you can redistribute it and/or | 
 |  * modify it under the terms of the GNU Lesser General Public | 
 |  * License as published by the Free Software Foundation; either | 
 |  * version 2.1 of the License, or (at your option) any later version. | 
 |  * | 
 |  * This library is distributed in the hope that it will be useful, | 
 |  * but WITHOUT ANY WARRANTY; without even the implied warranty of | 
 |  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU | 
 |  * Lesser General Public License for more details. | 
 |  * | 
 |  * You should have received a copy of the GNU Lesser General Public | 
 |  * License along with this library; if not, write to the Free Software | 
 |  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA | 
 |  */ | 
 |  | 
 | #ifndef _WOWNT32_H_ | 
 | #define _WOWNT32_H_ | 
 |  | 
 | LPVOID WINAPI WOWGetVDMPointer(DWORD,DWORD,BOOL); | 
 | LPVOID WINAPI WOWGetVDMPointerFix(DWORD,DWORD,BOOL); | 
 | VOID   WINAPI WOWGetVDMPointerUnfix(DWORD); | 
 |  | 
 | WORD   WINAPI WOWGlobalAlloc16(WORD,DWORD); | 
 | WORD   WINAPI WOWGlobalFree16(WORD); | 
 | DWORD  WINAPI WOWGlobalLock16(WORD); | 
 | BOOL   WINAPI WOWGlobalUnlock16(WORD); | 
 | DWORD  WINAPI WOWGlobalAllocLock16(WORD,DWORD,WORD *); | 
 | WORD   WINAPI WOWGlobalUnlockFree16(DWORD); | 
 | DWORD  WINAPI WOWGlobalLockSize16(WORD,PDWORD); | 
 |  | 
 | VOID   WINAPI WOWYield16(VOID); | 
 | VOID   WINAPI WOWDirectedYield16(WORD); | 
 |  | 
 | typedef enum | 
 | { | 
 |     WOW_TYPE_HWND, | 
 |     WOW_TYPE_HMENU, | 
 |     WOW_TYPE_HDWP, | 
 |     WOW_TYPE_HDROP, | 
 |     WOW_TYPE_HDC, | 
 |     WOW_TYPE_HFONT, | 
 |     WOW_TYPE_HMETAFILE, | 
 |     WOW_TYPE_HRGN, | 
 |     WOW_TYPE_HBITMAP, | 
 |     WOW_TYPE_HBRUSH, | 
 |     WOW_TYPE_HPALETTE, | 
 |     WOW_TYPE_HPEN, | 
 |     WOW_TYPE_HACCEL, | 
 |     WOW_TYPE_HTASK, | 
 |     WOW_TYPE_FULLHWND | 
 |  | 
 | } WOW_HANDLE_TYPE; | 
 |  | 
 | HANDLE WINAPI WOWHandle32(WORD,WOW_HANDLE_TYPE); | 
 | WORD   WINAPI WOWHandle16(HANDLE,WOW_HANDLE_TYPE); | 
 |  | 
 | #define HWND_32(h16)      ((HWND)      (WOWHandle32(h16, WOW_TYPE_HWND))) | 
 | #define HMENU_32(h16)     ((HMENU)     (WOWHandle32(h16, WOW_TYPE_HMENU))) | 
 | #define HDWP_32(h16)      ((HDWP)      (WOWHandle32(h16, WOW_TYPE_HDWP))) | 
 | #define HDROP_32(h16)     ((HDROP)     (WOWHandle32(h16, WOW_TYPE_HDROP))) | 
 | #define HDC_32(h16)       ((HDC)       (WOWHandle32(h16, WOW_TYPE_HDC))) | 
 | #define HFONT_32(h16)     ((HFONT)     (WOWHandle32(h16, WOW_TYPE_HFONT))) | 
 | #define HMETAFILE_32(h16) ((HMETAFILE) (WOWHandle32(h16, WOW_TYPE_HMETAFILE))) | 
 | #define HRGN_32(h16)      ((HRGN)      (WOWHandle32(h16, WOW_TYPE_HRGN))) | 
 | #define HBITMAP_32(h16)   ((HBITMAP)   (WOWHandle32(h16, WOW_TYPE_HBITMAP))) | 
 | #define HBRUSH_32(h16)    ((HBRUSH)    (WOWHandle32(h16, WOW_TYPE_HBRUSH))) | 
 | #define HPALETTE_32(h16)  ((HPALETTE)  (WOWHandle32(h16, WOW_TYPE_HPALETTE))) | 
 | #define HPEN_32(h16)      ((HPEN)      (WOWHandle32(h16, WOW_TYPE_HPEN))) | 
 | #define HACCEL_32(h16)    ((HACCEL)    (WOWHandle32(h16, WOW_TYPE_HACCEL))) | 
 | #define HTASK_32(h16)     ((DWORD)     (WOWHandle32(h16, WOW_TYPE_HTASK))) | 
 | #define FULLHWND_32(h16)  ((HWND)      (WOWHandle32(h16, WOW_TYPE_FULLHWND))) | 
 |  | 
 | #define HWND_16(h32)      (WOWHandle16(h32, WOW_TYPE_HWND)) | 
 | #define HMENU_16(h32)     (WOWHandle16(h32, WOW_TYPE_HMENU)) | 
 | #define HDWP_16(h32)      (WOWHandle16(h32, WOW_TYPE_HDWP)) | 
 | #define HDROP_16(h32)     (WOWHandle16(h32, WOW_TYPE_HDROP)) | 
 | #define HDC_16(h32)       (WOWHandle16(h32, WOW_TYPE_HDC)) | 
 | #define HFONT_16(h32)     (WOWHandle16(h32, WOW_TYPE_HFONT)) | 
 | #define HMETAFILE_16(h32) (WOWHandle16(h32, WOW_TYPE_HMETAFILE)) | 
 | #define HRGN_16(h32)      (WOWHandle16(h32, WOW_TYPE_HRGN)) | 
 | #define HBITMAP_16(h32)   (WOWHandle16(h32, WOW_TYPE_HBITMAP)) | 
 | #define HBRUSH_16(h32)    (WOWHandle16(h32, WOW_TYPE_HBRUSH)) | 
 | #define HPALETTE_16(h32)  (WOWHandle16(h32, WOW_TYPE_HPALETTE)) | 
 | #define HPEN_16(h32)      (WOWHandle16(h32, WOW_TYPE_HPEN)) | 
 | #define HACCEL_16(h32)    (WOWHandle16(h32, WOW_TYPE_HACCEL)) | 
 | #define HTASK_16(h32)     (WOWHandle16(h32, WOW_TYPE_HTASK)) | 
 |  | 
 |  | 
 | #define WCB16_PASCAL     0 | 
 | #define WCB16_CDECL      1 | 
 | #define WCB16_MAX_CBARGS 16 | 
 |  | 
 | DWORD WINAPI WOWCallback16(DWORD,DWORD); | 
 | BOOL  WINAPI WOWCallback16Ex(DWORD,DWORD,DWORD,LPVOID,LPDWORD); | 
 |  | 
 | #endif /* _WOWNT32_H_ */ | 
 |  | 
 |  |