2 * Message queues definitions
4 * Copyright 1993 Alexandre Julliard
12 /* Message as stored in the queue (contains the extraInfo field) */
13 typedef struct tagQMSG
15 DWORD extraInfo
; /* Only in 3.1 */
20 typedef struct tagMESSAGEQUEUE
23 WORD hTask
; /* hTask owning the queue */
24 WORD msgSize
; /* Size of messages in the queue */
25 WORD msgCount
; /* Number of waiting messages */
26 WORD nextMessage
; /* Next message to be retrieved */
27 WORD nextFreeMessage
; /* Next available slot in the queue */
28 WORD queueSize
; /* Size of the queue */
29 DWORD GetMessageTimeVal
; /* Value returned by GetMessageTime */
30 DWORD GetMessagePosVal
; /* Value returned by GetMessagePos */
31 DWORD GetMessageExtraInfoVal
; /* Value returned by GetMessageExtraInfo */
32 DWORD lParam
; /* Next four values set by SendMessage */
36 WORD wPostQMsg
; /* PostQuitMessage flag */
37 WORD wExitCode
; /* PostQuitMessage exit code */
38 WORD InSendMessageHandle
; /* Handle of task that sent a message */
39 WORD wPaintCount
; /* Number of WM_PAINT needed */
40 WORD wTimerCount
; /* Number of timers for this application */
41 WORD tempStatus
; /* State reset by GetQueueStatus */
42 WORD status
; /* Queue state */
43 QMSG messages
[1]; /* Queue messages */
47 extern void MSG_IncPaintCount( HANDLE hQueue
);
48 extern void MSG_DecPaintCount( HANDLE hQueue
);
49 extern void MSG_IncTimerCount( HANDLE hQueue
);
50 extern void MSG_DecTimerCount( HANDLE hQueue
);
51 extern void MSG_Synchronize();
52 extern BOOL
MSG_CreateSysMsgQueue( int size
);
53 extern void hardware_event( WORD message
, WORD wParam
, LONG lParam
,
54 int xPos
, int yPos
, DWORD time
, DWORD extraInfo
);
55 extern BOOL
MSG_GetHardwareMessage( LPMSG msg
);
57 #endif /* MESSAGE_H */