home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 7 / 07.iso / c / c083 / 14.ddi / GENINC.PAK / W32SUT.H < prev    next >
Encoding:
C/C++ Source or Header  |  1993-12-02  |  1.9 KB  |  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. #ifndef __WINBASE_H
  33. #include <winbase.h>
  34. #endif
  35.  
  36. typedef DWORD  ( WINAPI * UT32PROC)( LPVOID lpBuff,
  37.                                      DWORD  dwUserDefined,
  38.                                      LPVOID *lpTranslationList
  39.                                    );
  40.  
  41. BOOL    WINAPI UTRegister( HANDLE     hModule,
  42.                            LPCSTR     lpsz16BitDLL,
  43.                            LPCSTR     lpszInitName,
  44.                            LPCSTR     lpszProcName,
  45.                            UT32PROC * ppfn32Thunk,
  46.                            FARPROC    pfnUT32Callback,
  47.                            LPVOID     lpBuff
  48.                          );
  49.  
  50.  
  51. VOID    WINAPI UTUnRegister(HANDLE hModule);
  52.  
  53. #endif
  54.  
  55.  
  56. /****      Prototypes for 16 bit DLL   ***********/
  57. #ifdef W32SUT_16
  58.  
  59. typedef DWORD (FAR PASCAL  * UT16CBPROC)( LPVOID lpBuff,
  60.                                           DWORD  dwUserDefined,
  61.                                           LPVOID FAR *lpTranslationList
  62.                                         );
  63.  
  64.  
  65. LPVOID  WINAPI  UTLinearToSelectorOffset(LPBYTE lpByte);
  66. LPVOID  WINAPI  UTSelectorOffsetToLinear(LPBYTE lpByte);
  67.  
  68. #endif
  69.