#define MSQ_HUNG 5000
#define MSQ_NORMAL 0
#define MSQ_ISHOOK 1
-#define MSQ_ISEVENT 2
-#define MSQ_INJECTMODULE 3
+#define MSQ_INJECTMODULE 2
typedef struct _USER_MESSAGE
{
HWND MenuOwner;
/* Identifes the menu state */
BYTE MenuState;
- /* Caret information for this queue */
- PTHRDCARETINFO CaretInfo;
/* Message Queue Flags */
DWORD QF_flags;
DWORD cThreads; // Shared message queue counter.
/* Cursor object */
PCURICON_OBJECT CursorObject;
+ /* Caret information for this queue */
+ THRDCARETINFO CaretInfo;
} USER_MESSAGE_QUEUE, *PUSER_MESSAGE_QUEUE;
#define QF_UPDATEKEYSTATE 0x00000001
{
WM_ASYNC_SHOWWINDOW = 0x80000000,
WM_ASYNC_SETWINDOWPOS,
- WM_ASYNC_SETACTIVEWINDOW
+ WM_ASYNC_SETACTIVEWINDOW,
+ WM_ASYNC_DESTROYWINDOW
};
+#define POSTEVENT_NWE 14
+
BOOL FASTCALL MsqIsHung(PTHREADINFO pti);
VOID CALLBACK HungAppSysTimerProc(HWND,UINT,UINT_PTR,DWORD);
NTSTATUS FASTCALL co_MsqSendMessage(PTHREADINFO ptirec,
BOOLEAN FASTCALL MsqInitializeMessageQueue(PTHREADINFO, PUSER_MESSAGE_QUEUE);
PUSER_MESSAGE_QUEUE FASTCALL MsqCreateMessageQueue(PTHREADINFO);
VOID FASTCALL MsqCleanupThreadMsgs(PTHREADINFO);
-VOID FASTCALL MsqDestroyMessageQueue(PTHREADINFO);
+VOID FASTCALL MsqDestroyMessageQueue(_In_ PTHREADINFO pti);
INIT_FUNCTION NTSTATUS NTAPI MsqInitializeImpl(VOID);
-BOOLEAN FASTCALL co_MsqDispatchOneSentMessage(PTHREADINFO pti);
+BOOLEAN FASTCALL co_MsqDispatchOneSentMessage(_In_ PTHREADINFO pti);
NTSTATUS FASTCALL
co_MsqWaitForNewMessages(PTHREADINFO pti, PWND WndFilter,
UINT MsgFilterMin, UINT MsgFilterMax);
VOID FASTCALL ClearMsgBitsMask(PTHREADINFO,UINT);
BOOL FASTCALL IntCallMsgFilter(LPMSG,INT);
WPARAM FASTCALL MsqGetDownKeyState(PUSER_MESSAGE_QUEUE);
+BOOL FASTCALL IsThreadSuspended(PTHREADINFO);
int UserShowCursor(BOOL bShow);
PCURICON_OBJECT
UINT Msg,
WPARAM wParam,
LPARAM lParam );
+BOOL FASTCALL
+co_IntWaitMessage( PWND Window,
+ UINT MsgFilterMin,
+ UINT MsgFilterMax );
/* EOF */