diff options
author | Adam <you@example.com> | 2020-05-17 05:51:50 +0200 |
---|---|---|
committer | Adam <you@example.com> | 2020-05-17 05:51:50 +0200 |
commit | e611b132f9b8abe35b362e5870b74bce94a1e58e (patch) | |
tree | a5781d2ec0e085eeca33cf350cf878f2efea6fe5 /private/mvdm/wow32/isvwow.h | |
download | NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.gz NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.bz2 NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.lz NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.xz NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.zst NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.zip |
Diffstat (limited to 'private/mvdm/wow32/isvwow.h')
-rw-r--r-- | private/mvdm/wow32/isvwow.h | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/private/mvdm/wow32/isvwow.h b/private/mvdm/wow32/isvwow.h new file mode 100644 index 000000000..68b8072b8 --- /dev/null +++ b/private/mvdm/wow32/isvwow.h @@ -0,0 +1,85 @@ +/*++ BUILD Version: 0001 + * + * WOW v1.0 + * + * Copyright (c) 1991, Microsoft Corporation + * + * ISVWOW.H + * WOW32 ISV Support. Public Functions and Macros for Multi-Media extensions + * to the WOW thunking mechanism. + * + * History: + * Created 18-Feb-1992 by Stephen Estrop (StephenE) +--*/ + + +/* +** Public functions that allow for extensions to the WOW thunking +** system. These two functions enable extension thunk dlls such as +** Multi-Media video recording to callback into 16 bit code to simulate +** a hardware interrupt callback and to use the same handle mapping that +** WOW uses. +*/ +LPVOID +WOW32ResolveMemory( + VPVOID vp + ); + +BOOL APIENTRY +WOW32DriverCallback( + DWORD dwCallback, + DWORD dwFlags, + WORD wID, + WORD wMsg, + DWORD dwUser, + DWORD dw1, + DWORD dw2 + ); + +BOOL APIENTRY +WOW32ResolveHandle( + UINT uHandleType, + UINT uMappingDirection, + WORD wHandle16_In, + LPWORD lpwHandle16_Out, + DWORD dwHandle32_In, + LPDWORD lpdwHandle32_Out + ); + + +/* +** Constants for use with WOW32ResolveHandle +*/ + +#define WOW32_DIR_16IN_32OUT 0x0001 +#define WOW32_DIR_32IN_16OUT 0x0002 + +#define WOW32_USER_HANDLE 0x0001 // Generic user handle +#define WOW32_GDI_HANDLE 0x0002 // Generic gdi handle + // Kernel handles are not mapped + +#define WOW32_WAVEIN_HANDLE 0x0003 +#define WOW32_WAVEOUT_HANDLE 0x0004 +#define WOW32_MIDIOUT_HANDLE 0x0005 +#define WOW32_MIDIIN_HANDLE 0x0006 + + + +/* +** These MultiMedia messages expect dwParam1 to be a generic pointer and +** dwParam2 to be a generic DWORD. auxOutMessage, waveInMessage, +** waveOutMessage, midiInMessage and midiOutMessage all respect this +** convention and are thunked accordingly on WOW. +*/ +#define DRV_BUFFER_LOW (DRV_USER - 0x1000) // 0x3000 +#define DRV_BUFFER_USER (DRV_USER - 0x0800) // 0x3800 +#define DRV_BUFFER_HIGH (DRV_USER - 0x0001) // 0x3FFF + + +/* +** The flags are extensions to those normally used with GetWindowFlags, +** they allow 16 bit applications to detect if they are running on NT +** and if the Intel cpu is being emulated. +*/ +#define WF1_WINNT 0x40 // You are running on NT WOW +#define WF1_CPUEM 0x01 // NT WOW on MIPS or Alpha |