home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1997 May / Pcwk0597.iso / borland / cb / setup / cbuilder / data.z / W32SUT.H < prev    next >
C/C++ Source or Header  |  1997-02-28  |  2KB  |  89 lines

  1. #pragma option -b
  2. /***
  3. *w32sut.h -
  4. *
  5. *Purpose:
  6. *       This file declares the constants, structures, and functions
  7. *       used for accessing and using the Universal Thunk mechanism.
  8. *
  9. *       This file should be compiled either with constants W32SUT_16 or
  10. *       W32SUT_32 defined.
  11. *
  12. ****/
  13.  
  14. /*
  15.  *      C/C++ Run Time Library - Version 8.0
  16.  *
  17.  *      Copyright (c) 1994, 1997 by Borland International
  18.  *      All Rights Reserved.
  19.  *
  20.  */
  21.  
  22. /* Check that one of the 2 constants is defined  */
  23. #ifdef W32SUT_16
  24. #ifdef W32SUT_32
  25. #error W32SUT_16 and W32SUT_32 cannot be defined simultaneously
  26. #endif
  27. #endif
  28.  
  29. #ifndef W32SUT_16
  30. #ifndef W32SUT_32
  31. #error  Either W32SUT_16 or W32SUT_32 should be defined
  32. #endif
  33. #endif
  34.  
  35.  
  36. #if defined(__cplusplus)
  37. extern "C" {
  38. #endif
  39.  
  40.  
  41. /****      Prototypes for 32 bit DLL   ***********/
  42. #ifdef W32SUT_32
  43.  
  44. #ifndef __WINBASE_H
  45. #pragma option -b.
  46. #include <winbase.h>
  47. #pragma option -b
  48. #endif
  49.  
  50. typedef DWORD  ( WINAPI * UT32PROC)( LPVOID lpBuff,
  51.                                      DWORD  dwUserDefined,
  52.                                      LPVOID *lpTranslationList
  53.                                    );
  54.  
  55. BOOL    WINAPI UTRegister( HANDLE     hModule,
  56.                            LPCSTR     lpsz16BitDLL,
  57.                            LPCSTR     lpszInitName,
  58.                            LPCSTR     lpszProcName,
  59.                            UT32PROC * ppfn32Thunk,
  60.                            FARPROC    pfnUT32Callback,
  61.                            LPVOID     lpBuff
  62.                          );
  63.  
  64.  
  65. VOID    WINAPI UTUnRegister(HANDLE hModule);
  66.  
  67. #endif
  68.  
  69.  
  70. /****      Prototypes for 16 bit DLL   ***********/
  71. #ifdef W32SUT_16
  72.  
  73. typedef DWORD (FAR PASCAL  * UT16CBPROC)( LPVOID lpBuff,
  74.                                           DWORD  dwUserDefined,
  75.                                           LPVOID FAR *lpTranslationList
  76.                                         );
  77.  
  78.  
  79. LPVOID  WINAPI  UTLinearToSelectorOffset(LPBYTE lpByte);
  80. LPVOID  WINAPI  UTSelectorOffsetToLinear(LPBYTE lpByte);
  81.  
  82. #endif
  83.  
  84.  
  85. #if defined(__cplusplus)
  86. }
  87. #endif
  88. #pragma option -b.
  89.