windows-nt/Source/XPSP1/NT/base/mvdm/wow32/wuser31.h
2020-09-26 16:20:57 +08:00

88 lines
3.3 KiB
C

/*++
*
* WOW v1.0
*
* Copyright (c) 1991, Microsoft Corporation
*
* WUSER31.H
* WOW32 16-bit Win 3.1 User API support
*
* History:
* Created 16-Mar-1992 by Chandan S. Chauhan (ChandanC)
--*/
#define WINDOWPLACEMENT16TO32(vp,lp) {\
LPWINDOWPLACEMENT16 lp16;\
GETVDMPTR(vp, sizeof(WINDOWPLACEMENT16), lp16);\
(lp)->length = sizeof(WINDOWPLACEMENT);\
(lp)->flags = FETCHWORD(lp16->flags);\
(lp)->showCmd = FETCHWORD(lp16->showCmd);\
(lp)->ptMinPosition.x = (INT) FETCHSHORT(lp16->ptMinPosition.x);\
(lp)->ptMinPosition.y = (INT) FETCHSHORT(lp16->ptMinPosition.y);\
(lp)->ptMaxPosition.x = (INT) FETCHSHORT(lp16->ptMaxPosition.x);\
(lp)->ptMaxPosition.y = (INT) FETCHSHORT(lp16->ptMaxPosition.y);\
(lp)->rcNormalPosition.left = (INT) FETCHSHORT(lp16->rcNormalPosition.left);\
(lp)->rcNormalPosition.top = (INT) FETCHSHORT(lp16->rcNormalPosition.top);\
(lp)->rcNormalPosition.right = (INT) FETCHSHORT(lp16->rcNormalPosition.right);\
(lp)->rcNormalPosition.bottom = (INT) FETCHSHORT(lp16->rcNormalPosition.bottom);\
FREEVDMPTR(lp16);\
}
#define WINDOWPLACEMENT32TO16(vp,lp) {\
LPWINDOWPLACEMENT16 lp16;\
GETVDMPTR(vp, sizeof(WINDOWPLACEMENT16), lp16);\
STOREWORD(lp16->length, sizeof(WINDOWPLACEMENT16));\
STOREWORD(lp16->flags, (lp)->flags);\
STOREWORD(lp16->showCmd, (lp)->showCmd);\
STORESHORT(lp16->ptMinPosition.x, (lp)->ptMinPosition.x);\
STORESHORT(lp16->ptMinPosition.y, (lp)->ptMinPosition.y);\
STORESHORT(lp16->ptMaxPosition.x, (lp)->ptMaxPosition.x);\
STORESHORT(lp16->ptMaxPosition.y, (lp)->ptMaxPosition.y);\
STORESHORT(lp16->rcNormalPosition.left, (lp)->rcNormalPosition.left);\
STORESHORT(lp16->rcNormalPosition.top, (lp)->rcNormalPosition.top);\
STORESHORT(lp16->rcNormalPosition.right, (lp)->rcNormalPosition.right);\
STORESHORT(lp16->rcNormalPosition.bottom, (lp)->rcNormalPosition.bottom);\
FLUSHVDMPTR(vp, sizeof(WINDOWPLACEMENT16), lp16);\
FREEVDMPTR(lp16);\
}
ULONG FASTCALL WU32DlgDirSelectComboBoxEx(PVDMFRAME pFrame);
ULONG FASTCALL WU32DlgDirSelectEx(PVDMFRAME pFrame);
ULONG FASTCALL WU32EnableScrollBar(PVDMFRAME pFrame);
ULONG FASTCALL WU32ExitWindowsExec(PVDMFRAME pFrame);
ULONG FASTCALL WU32GetClipCursor(PVDMFRAME pFrame);
ULONG FASTCALL WU32GetCursor(PVDMFRAME pFrame);
ULONG FASTCALL WU32GetDCEx(PVDMFRAME pFrame);
ULONG FASTCALL WU32GetMessageExtraInfo(PVDMFRAME pFrame);
ULONG FASTCALL WU32GetOpenClipboardWindow(PVDMFRAME pFrame);
ULONG FASTCALL WU32GetWindowPlacement(PVDMFRAME pFrame);
ULONG FASTCALL WU32GetFreeSystemResources(PVDMFRAME pFrame);
ULONG FASTCALL WU32GetQueueStatus(PVDMFRAME pFrame);
ULONG FASTCALL WU32IsMenu(PVDMFRAME pFrame);
ULONG FASTCALL WU32LockWindowUpdate(PVDMFRAME pFrame);
ULONG FASTCALL WU32RedrawWindow(PVDMFRAME pFrame);
ULONG FASTCALL WU32ScrollWindowEx(PVDMFRAME pFrame);
ULONG FASTCALL WU32SetWindowPlacement(PVDMFRAME pFrame);
ULONG FASTCALL WU32SystemParametersInfo(PVDMFRAME pFrame);
ULONG FASTCALL WU32MapWindowPoints(PVDMFRAME pFrame);
//
// for ExitWindowsExec support
//
#define EWEXEC_SET 0
#define EWEXEC_DEL 1
#define EWEXEC_QUERY 2
#define WOWSZ_EWEXECEVENT "WOWEWExecEvent"
#define WOWSZ_EWEXECVALUE "EWExecCmdLine"
BOOL W32EWExecData(DWORD fnid, LPSTR lpData, DWORD cb);
BOOL W32EWExecer(VOID);