home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chip 1997 April
/
Chip_1997-04_cd.bin
/
prezent
/
cb
/
data.z
/
W32SUT.H
< prev
next >
Wrap
C/C++ Source or Header
|
1997-01-16
|
2KB
|
79 lines
/***
*w32sut.h -
*
*Purpose:
* This file declares the constants, structures, and functions
* used for accessing and using the Universal Thunk mechanism.
*
* This file should be compiled either with constants W32SUT_16 or
* W32SUT_32 defined.
*
****/
/* $Copyright: 1994$ */
/* Check that one of the 2 constants is defined */
#ifdef W32SUT_16
#ifdef W32SUT_32
#error W32SUT_16 and W32SUT_32 cannot be defined simultaneously
#endif
#endif
#ifndef W32SUT_16
#ifndef W32SUT_32
#error Either W32SUT_16 or W32SUT_32 should be defined
#endif
#endif
#if defined(__cplusplus)
extern "C" {
#endif
/**** Prototypes for 32 bit DLL ***********/
#ifdef W32SUT_32
#ifndef __WINBASE_H
#include <winbase.h>
#endif
typedef DWORD ( WINAPI * UT32PROC)( LPVOID lpBuff,
DWORD dwUserDefined,
LPVOID *lpTranslationList
);
BOOL WINAPI UTRegister( HANDLE hModule,
LPCSTR lpsz16BitDLL,
LPCSTR lpszInitName,
LPCSTR lpszProcName,
UT32PROC * ppfn32Thunk,
FARPROC pfnUT32Callback,
LPVOID lpBuff
);
VOID WINAPI UTUnRegister(HANDLE hModule);
#endif
/**** Prototypes for 16 bit DLL ***********/
#ifdef W32SUT_16
typedef DWORD (FAR PASCAL * UT16CBPROC)( LPVOID lpBuff,
DWORD dwUserDefined,
LPVOID FAR *lpTranslationList
);
LPVOID WINAPI UTLinearToSelectorOffset(LPBYTE lpByte);
LPVOID WINAPI UTSelectorOffsetToLinear(LPBYTE lpByte);
#endif
#if defined(__cplusplus)
}
#endif