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.

138 lines
3.8 KiB

  1. /*++ BUILD Version: 0001
  2. *
  3. * WOW v1.0
  4. *
  5. * Copyright (c) 1991, Microsoft Corporation
  6. *
  7. * WMDISP32.H
  8. * WOW32 32-bit message thunks
  9. *
  10. * History:
  11. * Created 19-Feb-1992 by Chandan S. Chauhan (ChandanC)
  12. * Changed 12-May-1992 by Mike Tricker (MikeTri) Added MultiMedia prototypes
  13. --*/
  14. #ifndef _DEF_WMDISP32_ // if this hasn't already been included
  15. #define _DEF_WMDISP32_
  16. /* Types
  17. */
  18. //
  19. // W32MSGPARAMEX structure defined below is passed to all the 32->16
  20. // message thunks. pww provides quick access to WOW words, and
  21. // dwParam provides a DWORD to squirrel away a value during thunking
  22. // for use in unthunking. The scope of dwParam is strictly the
  23. // thunking and subsequent unthunking of one message.
  24. //
  25. typedef struct _WM32MSGPARAMEX *LPWM32MSGPARAMEX;
  26. typedef BOOL (FASTCALL LPFNM32PROTO)(LPWM32MSGPARAMEX lpwm32mpex);
  27. typedef LPFNM32PROTO *LPFNM32;
  28. typedef struct _WM32MSGPARAMEX {
  29. HWND hwnd;
  30. UINT uMsg;
  31. UINT uParam;
  32. LONG lParam;
  33. PARM16 Parm16;
  34. LPFNM32 lpfnM32; // function address
  35. BOOL fThunk;
  36. LONG lReturn;
  37. PWW pww;
  38. DWORD dwParam;
  39. BOOL fFree;
  40. DWORD dwTmp[2];
  41. } WM32MSGPARAMEX;
  42. /* Dispatch table entry
  43. */
  44. typedef struct _M32 { /* w32 */
  45. LPFNM32 lpfnM32; // function address
  46. #ifdef DEBUG_OR_WOWPROFILE
  47. LPSZ lpszW32; // message name (DEBUG version only)
  48. DWORD cCalls; // # times the message has been passed
  49. LONGLONG cTics; // sum total of thunk tics
  50. #endif
  51. } M32, *PM32;
  52. extern BOOL fThunkDDEmsg;
  53. #define WIN31_MM_CALCSCROLL 0x10AC // WM_USER+0xCAC
  54. /* Function prototypes
  55. */
  56. LONG W32Win16WndProcEx(HWND hwnd, UINT uMsg, UINT uParam, LONG lParam, DWORD dwCPD, PWW pww);
  57. BOOL W32Win16DlgProcEx(HWND hwnd, UINT uMsg, UINT uParam, LONG lParam, DWORD dwCPD, PWW pww);
  58. LPFNM32PROTO WM32NoThunking;
  59. LPFNM32PROTO WM32Undocumented;
  60. LPFNM32PROTO WM32Create;
  61. LPFNM32PROTO WM32Activate;
  62. LPFNM32PROTO WM32VKeyToItem;
  63. LPFNM32PROTO WM32SetFocus;
  64. LPFNM32PROTO WM32SetText;
  65. LPFNM32PROTO WM32GetText;
  66. LPFNM32PROTO WM32EraseBkGnd;
  67. LPFNM32PROTO WM32ActivateApp;
  68. LPFNM32PROTO WM32RenderFormat;
  69. LPFNM32PROTO WM32GetMinMaxInfo;
  70. LPFNM32PROTO WM32NCPaint;
  71. LPFNM32PROTO WM32NCDestroy;
  72. LPFNM32PROTO WM32GetDlgCode;
  73. LPFNM32PROTO WM32NextDlgCtl;
  74. LPFNM32PROTO WM32DrawItem;
  75. LPFNM32PROTO WM32MeasureItem;
  76. LPFNM32PROTO WM32DeleteItem;
  77. LPFNM32PROTO WM32SetFont;
  78. LPFNM32PROTO WM32QueryDragIcon;
  79. LPFNM32PROTO WM32CompareItem;
  80. LPFNM32PROTO WM32NCCalcSize;
  81. LPFNM32PROTO WM32Command;
  82. LPFNM32PROTO WM32Timer;
  83. LPFNM32PROTO WM32HScroll;
  84. LPFNM32PROTO WM32InitMenu;
  85. LPFNM32PROTO WM32MenuSelect;
  86. LPFNM32PROTO WM32MenuChar;
  87. LPFNM32PROTO WM32EnterIdle;
  88. LPFNM32PROTO WM32ParentNotify;
  89. LPFNM32PROTO WM32MDICreate;
  90. LPFNM32PROTO WM32MDIActivate;
  91. LPFNM32PROTO WM32MDIGetActive;
  92. LPFNM32PROTO WM32MDISetMenu;
  93. LPFNM32PROTO WM32PaintClipBoard;
  94. LPFNM32PROTO WM32SizeClipBoard;
  95. LPFNM32PROTO WM32AskCBFormatName;
  96. LPFNM32PROTO WM32ChangeCBChain;
  97. LPFNM32PROTO WM32DDEInitiate;
  98. LPFNM32PROTO WM32DDEAck;
  99. LPFNM32PROTO WM32DDERequest;
  100. LPFNM32PROTO WM32DDEAdvise;
  101. LPFNM32PROTO WM32DDEData;
  102. LPFNM32PROTO WM32DDEPoke;
  103. LPFNM32PROTO WM32DDEExecute;
  104. LPFNM32PROTO WM32CtlColor;
  105. LPFNM32PROTO WM32GetFont;
  106. LPFNM32PROTO WM32MNFindMenuWindow;
  107. LPFNM32PROTO WM32NextMenu;
  108. LPFNM32PROTO WM32Destroy;
  109. LPFNM32PROTO WM32WindowPosChanging ;
  110. LPFNM32PROTO WM32DropFiles ;
  111. LPFNM32PROTO WM32DropObject ;
  112. LPFNM32PROTO WM32DestroyClipboard;
  113. LPFNM32PROTO WM32NextMenu;
  114. LPFNM32PROTO WM32CopyData;
  115. LPFNM32PROTO WM32MMCalcScroll;
  116. LPFNM32PROTO WM32Thunk16To32;
  117. LPFNM32PROTO WM32WinHelp;
  118. LPFNM32PROTO WM32Notify;
  119. LPFNM32PROTO WM32Sizing;
  120. LPFNM32PROTO WM32xxxUIState;
  121. LPFNM32PROTO WM32NotifyWow;
  122. #ifdef FE_IME
  123. LPFNM32PROTO WM32IMEReport;
  124. #endif // FE_IME
  125. LPFNM32PROTO WM32PrintClient;
  126. #endif // #ifndef _DEF_WMDISP32_ THIS SHOULD BE THE LAST LINE IN THIS FILE