Release 0.2.0
[wine/multimedia.git] / message.h
blob0bbfc9a3ef0b8934ce314314bdd21afc8c16a912
1 /*
2 * Message queues definitions
4 * Copyright 1993 Alexandre Julliard
5 */
7 #ifndef MESSAGE_H
8 #define MESSAGE_H
10 #include "windows.h"
12 /* Message as stored in the queue (contains the extraInfo field) */
13 typedef struct tagQMSG
15 MSG msg;
16 DWORD extraInfo __attribute__ ((packed)); /* Only in 3.1 */
17 } QMSG;
20 typedef struct tagMESSAGEQUEUE
22 WORD next;
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 WORD GetMessageExtraInfoVal; /* Value returned by GetMessageExtraInfo */
32 DWORD lParam; /* Next four values set by SetMessage */
33 WORD wParam;
34 WORD msg;
35 WORD hWnd;
36 WORD wPostQMsg; /* PostQuitMessage flag */
37 WORD wExitCode; /* PostQuitMessage exit code */
38 WORD InSendMessageHandle; /* Handle of task that sent a message */
39 WORD tempStatus; /* State reset by GetQueueStatus */
40 WORD status; /* Queue state */
41 QMSG messages[1]; /* Queue messages */
42 } MESSAGEQUEUE;
44 #endif /* MESSAGE_H */