source: trunk/include/win/wownt32.h@ 10367

Last change on this file since 10367 was 5598, checked in by sandervl, 24 years ago

header updates

File size: 3.2 KB
Line 
1/*
2 * WOW Generic Thunk API
3 */
4
5#ifndef _WOWNT32_H_
6#define _WOWNT32_H_
7
8LPVOID WINAPI WOWGetVDMPointer(DWORD,DWORD,BOOL);
9LPVOID WINAPI WOWGetVDMPointerFix(DWORD,DWORD,BOOL);
10VOID WINAPI WOWGetVDMPointerUnfix(DWORD);
11
12WORD WINAPI WOWGlobalAlloc16(WORD,DWORD);
13WORD WINAPI WOWGlobalFree16(WORD);
14DWORD WINAPI WOWGlobalLock16(WORD);
15BOOL WINAPI WOWGlobalUnlock16(WORD);
16DWORD WINAPI WOWGlobalAllocLock16(WORD,DWORD,WORD *);
17WORD WINAPI WOWGlobalUnlockFree16(DWORD);
18DWORD WINAPI WOWGlobalLockSize16(WORD,PDWORD);
19
20VOID WINAPI WOWYield16(VOID);
21VOID WINAPI WOWDirectedYield16(WORD);
22
23typedef enum
24{
25 WOW_TYPE_HWND,
26 WOW_TYPE_HMENU,
27 WOW_TYPE_HDWP,
28 WOW_TYPE_HDROP,
29 WOW_TYPE_HDC,
30 WOW_TYPE_HFONT,
31 WOW_TYPE_HMETAFILE,
32 WOW_TYPE_HRGN,
33 WOW_TYPE_HBITMAP,
34 WOW_TYPE_HBRUSH,
35 WOW_TYPE_HPALETTE,
36 WOW_TYPE_HPEN,
37 WOW_TYPE_HACCEL,
38 WOW_TYPE_HTASK,
39 WOW_TYPE_FULLHWND
40
41} WOW_HANDLE_TYPE;
42
43HANDLE WINAPI WOWHandle32(WORD,WOW_HANDLE_TYPE);
44WORD WINAPI WOWHandle16(HANDLE,WOW_HANDLE_TYPE);
45
46#define HWND_32(h16) ((HWND) (WOWHandle32(h16, WOW_TYPE_HWND)))
47#define HMENU_32(h16) ((HMENU) (WOWHandle32(h16, WOW_TYPE_HMENU)))
48#define HDWP_32(h16) ((HDWP) (WOWHandle32(h16, WOW_TYPE_HDWP)))
49#define HDROP_32(h16) ((HDROP) (WOWHandle32(h16, WOW_TYPE_HDROP)))
50#define HDC_32(h16) ((HDC) (WOWHandle32(h16, WOW_TYPE_HDC)))
51#define HFONT_32(h16) ((HFONT) (WOWHandle32(h16, WOW_TYPE_HFONT)))
52#define HMETAFILE_32(h16) ((HMETAFILE) (WOWHandle32(h16, WOW_TYPE_HMETAFILE)))
53#define HRGN_32(h16) ((HRGN) (WOWHandle32(h16, WOW_TYPE_HRGN)))
54#define HBITMAP_32(h16) ((HBITMAP) (WOWHandle32(h16, WOW_TYPE_HBITMAP)))
55#define HBRUSH_32(h16) ((HBRUSH) (WOWHandle32(h16, WOW_TYPE_HBRUSH)))
56#define HPALETTE_32(h16) ((HPALETTE) (WOWHandle32(h16, WOW_TYPE_HPALETTE)))
57#define HPEN_32(h16) ((HPEN) (WOWHandle32(h16, WOW_TYPE_HPEN)))
58#define HACCEL_32(h16) ((HACCEL) (WOWHandle32(h16, WOW_TYPE_HACCEL)))
59#define HTASK_32(h16) ((DWORD) (WOWHandle32(h16, WOW_TYPE_HTASK)))
60#define FULLHWND_32(h16) ((HWND) (WOWHandle32(h16, WOW_TYPE_FULLHWND)))
61
62#define HWND_16(h32) (WOWHandle16(h32, WOW_TYPE_HWND))
63#define HMENU_16(h32) (WOWHandle16(h32, WOW_TYPE_HMENU))
64#define HDWP_16(h32) (WOWHandle16(h32, WOW_TYPE_HDWP))
65#define HDROP_16(h32) (WOWHandle16(h32, WOW_TYPE_HDROP))
66#define HDC_16(h32) (WOWHandle16(h32, WOW_TYPE_HDC))
67#define HFONT_16(h32) (WOWHandle16(h32, WOW_TYPE_HFONT))
68#define HMETAFILE_16(h32) (WOWHandle16(h32, WOW_TYPE_HMETAFILE))
69#define HRGN_16(h32) (WOWHandle16(h32, WOW_TYPE_HRGN))
70#define HBITMAP_16(h32) (WOWHandle16(h32, WOW_TYPE_HBITMAP))
71#define HBRUSH_16(h32) (WOWHandle16(h32, WOW_TYPE_HBRUSH))
72#define HPALETTE_16(h32) (WOWHandle16(h32, WOW_TYPE_HPALETTE))
73#define HPEN_16(h32) (WOWHandle16(h32, WOW_TYPE_HPEN))
74#define HACCEL_16(h32) (WOWHandle16(h32, WOW_TYPE_HACCEL))
75#define HTASK_16(h32) (WOWHandle16(h32, WOW_TYPE_HTASK))
76
77
78#define WCB16_PASCAL 0
79#define WCB16_CDECL 1
80#define WCB16_MAX_CBARGS 16
81
82DWORD WINAPI WOWCallback16(DWORD,DWORD);
83BOOL WINAPI WOWCallback16Ex(DWORD,DWORD,DWORD,LPVOID,LPDWORD);
84
85#endif /* _WOWNT32_H_ */
86
87
Note: See TracBrowser for help on using the repository browser.