Leaked source code of windows server 2003
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.

77 lines
1.7 KiB

  1. //+---------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. // Copyright (C) Microsoft Corporation, 1992 - 1993.
  5. //
  6. // File: wow32fn.h
  7. //
  8. // Contents: WOW 32-bit private function declarations
  9. //
  10. // History: 18-Feb-94 DrewB Created
  11. //
  12. //----------------------------------------------------------------------------
  13. #ifndef __WOW32FN_H__
  14. #define __WOW32FN_H__
  15. //
  16. // WOW types
  17. //
  18. // 'V'DM pointers
  19. typedef DWORD VPVOID;
  20. typedef DWORD VPSTR;
  21. typedef HANDLE HAND32;
  22. typedef WORD HAND16;
  23. typedef HAND16 HMEM16;
  24. typedef HAND16 HWND16;
  25. typedef HAND16 HDC16;
  26. typedef HAND16 HRGN16;
  27. typedef HAND16 HMENU16;
  28. typedef HAND16 HICON16;
  29. typedef HAND16 HBITMAP16;
  30. typedef HAND16 HACCEL16;
  31. typedef HAND16 HTASK16;
  32. typedef HAND16 HMETAFILE16;
  33. #ifdef __cplusplus
  34. extern "C"
  35. {
  36. #endif
  37. // Macros to handle conversion of 16:16 pointers to 0:32 pointers
  38. // On NT this mapping is guaranteed to stay stable in a WOW process
  39. // as long as a 32->16 transition doesn't occur
  40. //
  41. #define WOWFIXVDMPTR(vp, cb) WOWGetVDMPointer(vp, cb, TRUE)
  42. #define WOWRELVDMPTR(vp) (vp)
  43. #define FIXVDMPTR(vp, type) \
  44. (type UNALIGNED *)WOWFIXVDMPTR(vp, sizeof(type))
  45. #define RELVDMPTR(vp) \
  46. WOWRELVDMPTR(vp)
  47. HAND16 CopyDropFilesFrom32(HANDLE h32);
  48. HANDLE CopyDropFilesFrom16(HAND16 h16);
  49. #ifdef __cplusplus
  50. }
  51. #endif
  52. // 16-bit HGLOBAL tracking functions
  53. #if DBG == 1
  54. VPVOID WgtAllocLock(WORD wFlags, DWORD cb, HMEM16 *ph);
  55. void WgtUnlockFree(VPVOID vpv);
  56. void WgtDump(void);
  57. #else
  58. #define WgtAllocLock(wFlags, cb, ph) \
  59. WOWGlobalAllocLock16(wFlags, cb, ph)
  60. #define WgtUnlockFree(vpv) \
  61. WOWGlobalUnlockFree16(vpv)
  62. #define WgtDump()
  63. #endif
  64. #endif // #ifndef __WOW32FN_H__