home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / vc98 / include / w32sut.h < prev    next >
Text File  |  1998-04-25  |  2KB  |  69 lines

  1. /***
  2. *w32sut.h -
  3. *
  4. *       Copyright (c) 1987-1992, Microsoft Corporation.  All rights reserved.
  5. *
  6. *Purpose:
  7. *       This file declares the constants, structures, and functions
  8. *       used for accessing and using the Universal Thunk mechanism.
  9. *
  10. *       This file should be compiled either with constants W32SUT_16 or
  11. *       W32SUT_32 defined.
  12. *
  13. ****/
  14.  
  15. /* Check that one of the 2 constants is defined  */
  16. #ifdef W32SUT_16
  17. #ifdef W32SUT_32
  18. #error W32SUT_16 and W32SUT_32 cannot be defined simultaneously
  19. #endif
  20. #endif
  21.  
  22. #ifndef W32SUT_16
  23. #ifndef W32SUT_32
  24. #error  Either W32SUT_16 or W32SUT_32 should be defined
  25. #endif
  26. #endif
  27.  
  28.  
  29. /****      Prototypes for 32 bit DLL   ***********/
  30. #ifdef W32SUT_32
  31.  
  32. typedef DWORD  ( WINAPI * UT32PROC)( LPVOID lpBuff,
  33.                                      DWORD  dwUserDefined,
  34.                                      LPVOID *lpTranslationList
  35.                                    );
  36.  
  37. BOOL    WINAPI UTRegister( HANDLE     hModule,
  38.                            LPCSTR     lpsz16BitDLL,
  39.                            LPCSTR     lpszInitName,
  40.                            LPCSTR     lpszProcName,
  41.                            UT32PROC * ppfn32Thunk,
  42.                            FARPROC    pfnUT32Callback,
  43.                            LPVOID     lpBuff
  44.                          );
  45.  
  46.  
  47. VOID    WINAPI UTUnRegister(HANDLE hModule);
  48.  
  49. #endif
  50.  
  51.  
  52. /****      Prototypes for 16 bit DLL   ***********/
  53. #ifdef W32SUT_16
  54.  
  55. typedef DWORD (FAR PASCAL  * UT16CBPROC)( LPVOID lpBuff,
  56.                                           DWORD  dwUserDefined,
  57.                                           LPVOID FAR *lpTranslationList
  58.                                         );
  59.  
  60.  
  61. LPVOID  WINAPI  UTLinearToSelectorOffset(LPBYTE lpByte);
  62. LPVOID  WINAPI  UTSelectorOffsetToLinear(LPBYTE lpByte);
  63.  
  64. #endif
  65.  
  66.  
  67.  
  68.  
  69.