MSGQUEUEINFO (Compact 2013)
3/28/2014
This structure contains information about a message queue.
Syntax
typedef MSGQUEUEINFO{
DWORD dwSize;
DWORD dwFlags;
DWORD dwMaxMessages;
DWORD cbMaxMessage;
DWORD dwCurrentMessages;
DWORD dwMaxQueueMessages;
WORD wNumReaders;
WORD wNumWriters;
} MSGQUEUEINFO, *PMSGQUEUEINFO, FAR* LPMSGQUEUEINFO;
Members
- dwSize
Size of the buffer passed in, larger than sizeof(MSGQUEUEINFO).
- dwFlags
Value specified in MSGQUEUEOPTIONS.dwFlags passed when the message queue is created. Describes the behavior of the message queue. Set to MSGQUEUE_NOPRECOMMIT to allocate message buffers on demand and to free the message buffers after they are read, or set to MSGQUEUE_ALLOW_BROKEN to enable a read or write operation to complete even if there is no corresponding writer or reader present.
- dwMaxMessages
Maximum number of messages allowed in queue, if it is zero, then no restriction on the number of messages.
- cbMaxMessage
Length of the message in bytes.
- dwCurrentMessages
Number of messages currently existing in the queue.
- dwMaxQueueMessages
Maximum number of messages that have ever been in the queue at one time.
- wNumReaders
Number of readers attached to the queue for reading.
- wNumWriters
Number of writers attached to the queue for writing.
Remarks
If dwMaxMessages is set to zero, there are no restrictions on the number of messages in the queue. This implicitly enables the same behavior as setting MSGQUEUE_NOPRECOMMIT in dwFlags.
If the MSGQUEUE_ALLOW_BROKEN flag is not specified and either the read or write exists, assuming a single read and writer, the queue will be deleted from memory and only the open handle to the queue will exist. The only option at this point is to close the remaining open handle and reopen the queue if necessary.
Requirements
Header |
msgqueue.h |
See Also
Reference
Message Queue Point-to-Point Structures
CloseMsgQueue
CreateMsgQueue
GetMsgQueueInfo
MSGQUEUEOPTIONS
OpenMsgQueue
ReadMsgQueue
WriteMsgQueue