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.

87 lines
3.3 KiB

  1. /*++
  2. *
  3. * WOW v1.0
  4. *
  5. * Copyright (c) 1991, Microsoft Corporation
  6. *
  7. * WUSER31.H
  8. * WOW32 16-bit Win 3.1 User API support
  9. *
  10. * History:
  11. * Created 16-Mar-1992 by Chandan S. Chauhan (ChandanC)
  12. --*/
  13. #define WINDOWPLACEMENT16TO32(vp,lp) {\
  14. LPWINDOWPLACEMENT16 lp16;\
  15. GETVDMPTR(vp, sizeof(WINDOWPLACEMENT16), lp16);\
  16. (lp)->length = sizeof(WINDOWPLACEMENT);\
  17. (lp)->flags = FETCHWORD(lp16->flags);\
  18. (lp)->showCmd = FETCHWORD(lp16->showCmd);\
  19. (lp)->ptMinPosition.x = (INT) FETCHSHORT(lp16->ptMinPosition.x);\
  20. (lp)->ptMinPosition.y = (INT) FETCHSHORT(lp16->ptMinPosition.y);\
  21. (lp)->ptMaxPosition.x = (INT) FETCHSHORT(lp16->ptMaxPosition.x);\
  22. (lp)->ptMaxPosition.y = (INT) FETCHSHORT(lp16->ptMaxPosition.y);\
  23. (lp)->rcNormalPosition.left = (INT) FETCHSHORT(lp16->rcNormalPosition.left);\
  24. (lp)->rcNormalPosition.top = (INT) FETCHSHORT(lp16->rcNormalPosition.top);\
  25. (lp)->rcNormalPosition.right = (INT) FETCHSHORT(lp16->rcNormalPosition.right);\
  26. (lp)->rcNormalPosition.bottom = (INT) FETCHSHORT(lp16->rcNormalPosition.bottom);\
  27. FREEVDMPTR(lp16);\
  28. }
  29. #define WINDOWPLACEMENT32TO16(vp,lp) {\
  30. LPWINDOWPLACEMENT16 lp16;\
  31. GETVDMPTR(vp, sizeof(WINDOWPLACEMENT16), lp16);\
  32. STOREWORD(lp16->length, sizeof(WINDOWPLACEMENT16));\
  33. STOREWORD(lp16->flags, (lp)->flags);\
  34. STOREWORD(lp16->showCmd, (lp)->showCmd);\
  35. STORESHORT(lp16->ptMinPosition.x, (lp)->ptMinPosition.x);\
  36. STORESHORT(lp16->ptMinPosition.y, (lp)->ptMinPosition.y);\
  37. STORESHORT(lp16->ptMaxPosition.x, (lp)->ptMaxPosition.x);\
  38. STORESHORT(lp16->ptMaxPosition.y, (lp)->ptMaxPosition.y);\
  39. STORESHORT(lp16->rcNormalPosition.left, (lp)->rcNormalPosition.left);\
  40. STORESHORT(lp16->rcNormalPosition.top, (lp)->rcNormalPosition.top);\
  41. STORESHORT(lp16->rcNormalPosition.right, (lp)->rcNormalPosition.right);\
  42. STORESHORT(lp16->rcNormalPosition.bottom, (lp)->rcNormalPosition.bottom);\
  43. FLUSHVDMPTR(vp, sizeof(WINDOWPLACEMENT16), lp16);\
  44. FREEVDMPTR(lp16);\
  45. }
  46. ULONG FASTCALL WU32DlgDirSelectComboBoxEx(PVDMFRAME pFrame);
  47. ULONG FASTCALL WU32DlgDirSelectEx(PVDMFRAME pFrame);
  48. ULONG FASTCALL WU32EnableScrollBar(PVDMFRAME pFrame);
  49. ULONG FASTCALL WU32ExitWindowsExec(PVDMFRAME pFrame);
  50. ULONG FASTCALL WU32GetClipCursor(PVDMFRAME pFrame);
  51. ULONG FASTCALL WU32GetCursor(PVDMFRAME pFrame);
  52. ULONG FASTCALL WU32GetDCEx(PVDMFRAME pFrame);
  53. ULONG FASTCALL WU32GetMessageExtraInfo(PVDMFRAME pFrame);
  54. ULONG FASTCALL WU32GetOpenClipboardWindow(PVDMFRAME pFrame);
  55. ULONG FASTCALL WU32GetWindowPlacement(PVDMFRAME pFrame);
  56. ULONG FASTCALL WU32GetFreeSystemResources(PVDMFRAME pFrame);
  57. ULONG FASTCALL WU32GetQueueStatus(PVDMFRAME pFrame);
  58. ULONG FASTCALL WU32IsMenu(PVDMFRAME pFrame);
  59. ULONG FASTCALL WU32LockWindowUpdate(PVDMFRAME pFrame);
  60. ULONG FASTCALL WU32RedrawWindow(PVDMFRAME pFrame);
  61. ULONG FASTCALL WU32ScrollWindowEx(PVDMFRAME pFrame);
  62. ULONG FASTCALL WU32SetWindowPlacement(PVDMFRAME pFrame);
  63. ULONG FASTCALL WU32SystemParametersInfo(PVDMFRAME pFrame);
  64. ULONG FASTCALL WU32MapWindowPoints(PVDMFRAME pFrame);
  65. //
  66. // for ExitWindowsExec support
  67. //
  68. #define EWEXEC_SET 0
  69. #define EWEXEC_DEL 1
  70. #define EWEXEC_QUERY 2
  71. #define WOWSZ_EWEXECEVENT "WOWEWExecEvent"
  72. #define WOWSZ_EWEXECVALUE "EWExecCmdLine"
  73. BOOL W32EWExecData(DWORD fnid, LPSTR lpData, DWORD cb);
  74. BOOL W32EWExecer(VOID);