Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

62 lines
1.7 KiB

  1. //+---------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. // Copyright (C) Microsoft Corporation, 1992 - 1993.
  5. //
  6. // File: wow16fn.h
  7. //
  8. // Contents: WOW 16-bit private function declarations
  9. //
  10. // History: 18-Feb-94 DrewB Created
  11. //
  12. //----------------------------------------------------------------------------
  13. #ifndef __WOW16FN_H__
  14. #define __WOW16FN_H__
  15. #ifdef __cplusplus
  16. extern "C"
  17. {
  18. #endif
  19. DWORD FAR PASCAL LoadLibraryEx32W(LPCSTR pszDll, DWORD reserved,
  20. DWORD dwFlags);
  21. BOOL FAR PASCAL FreeLibrary32W(DWORD hLibrary);
  22. LPVOID FAR PASCAL GetProcAddress32W(DWORD hMod, LPCSTR pszProc);
  23. DWORD FAR PASCAL GetVDMPointer32W(LPVOID pv, UINT cb);
  24. /* This API actually takes a variable number of user arguments before
  25. the three required arguments. We only need three user arguments at
  26. most so that's the way we declare it.
  27. When using this call, dwArgCount must always be three.
  28. Use CP32_NARGS to track changes*/
  29. #define CP32_NARGS 3
  30. DWORD FAR PASCAL CallProc32W(DWORD dw1, DWORD dw2, DWORD dw3,
  31. LPVOID pfn32, DWORD dwPtrTranslate,
  32. DWORD dwArgCount);
  33. #ifdef _CHICAGO_
  34. DWORD FAR PASCAL SSCallProc32(DWORD dw1, DWORD dw2, DWORD dw3,
  35. LPVOID pfn32, DWORD dwPtrTranslate,
  36. DWORD dwArgCount);
  37. #ifdef _STACKSWITCHON16_
  38. #define CallProcIn32(a,b,c,d,e,f) SSCallProc32(a,b,c,d,e,f)
  39. #else
  40. #define CallProcIn32(a,b,c,d,e,f) CallProc32W(a,b,c,d,e,f)
  41. #endif // _STACKSWITCHON16_
  42. #else
  43. #define CallProcIn32(a,b,c,d,e,f) CallProc32W(a,b,c,d,e,f)
  44. #endif
  45. #ifdef __cplusplus
  46. }
  47. #endif
  48. #endif // #ifndef __WOW16FN_H__
  49.