Jump to content

WinCreateMsgQueue: Difference between revisions

From EDM2
mNo edit summary
No edit summary
Line 44: Line 44:
           }
           }


==Related Functions==
===Related Functions===
[[OS2 API:WinDestroyMsgQueue|WinDestroyMsgQueue]], [[OS2 API:WinPostMessage|WinPostMessage]], [[OS2 API:WinSendMessage|WinSendMessage]]  
[[OS2 API:WinDestroyMsgQueue|WinDestroyMsgQueue]], [[OS2 API:WinPostMessage|WinPostMessage]], [[OS2 API:WinSendMessage|WinSendMessage]]  



Revision as of 23:23, 18 June 2012

WinCreateMsgQueue

WinCreateMsgQueue( hab, maxMsg )
Creates a message queue.

Usage Explanation

After calling WinInitialize, you must call this function if your thread needs to respond to messages. Save the handle, as other functions need it as input.

Parameters

HAB hab (input)
Anchor block of calling thread (from WinInitialize or WinQueryAnchorBlock).
LONG maxMsg (input)
The number of messages the queue can hold. Pass 0 for system default.

Returns

HMQ hmq
Handle to the newly created message queue. NULLHANDLE is returned if there was an error. WinGetLastError will return one of:
   0x100A 	PMERR_RESOURCE_NOT_FOUND
   0x1011 	PMERR_HEAP_OUT_OF_MEMORY
   0x1012 	PMERR_HEAP_MAX_SIZE_REACHED
   0x1018 	PMERR_QUEUE_TOO_LARGE
   0x1051 	PMERR_NOT_IN_A_PM_SESSION
   0x1052 	PMERR_MSG_QUEUE_ALREADY_EXISTS

Define (C/C++)

 #define INCL_WINMESSAGEMGR
 #include <os2.h>

Example Code

#define INCL_WINMESSAGEMGR 
#include <os2.h> 

HAB hab; 
ULONG flOptions = 0L; 
HMQ hmq; 

hab=WinInitialize(flOptions); 
hmq=WinCreateMsgQueue(hab, 0L); 

if (hmq) { 
          . 
          . 
          . 
         }

Related Functions

WinDestroyMsgQueue, WinPostMessage, WinSendMessage

OS Version Introduced