MSMQ Functions for Windows CE

The following table shows the level of support for each MSMQ function.

MSMQ Function
Windows CE Implementation
MQBeginTransaction Not supported. Returns MQ_ERROR_SERVICE_NOT_AVAILABLE.
MQCloseCursor Fully supported.
MQCloseQueue Fully supported.
MQCreateCursor Fully supported.
MQCreateQueue Can create only local private queue. For more information, see MQCreateQueue Implementation.
MQDeleteQueue Can delete only local queue using DIRECT format name.
MQFreeMemory Fully supported.
MQFreeSecurityContext Not supported.
MQGetMachineProperties Can only be called for local machine. The only property supported is PROPID_QM_MACHINE_ID.
MQGetQueueProperties Can only be called on local machine using DIRECT format name.

The PROPID_Q_INSTANCE property is not supported. Returns MQ_INFORMATION_PROPERTY_IGNORED in status field.

MQGetQueueSecurity Not supported. Returns MQ_ERROR_SERVICE_NOT_AVAILABLE.
MQGetSecurityContext Not supported. Returns MQ_ERROR_SERVICE_NOT_AVAILABLE.
MQHandleToFormatName Returns DIRECT format name.
MQInstanceToFormatName Not supported. Returns MQ_ERROR_SERVICE_NOT_AVAILABLE.
MQLocateBegin Not supported. Returns MQ_ERROR_SERVICE_NOT_AVAILABLE.
MQLocateEnd Not supported. Returns MQ_ERROR_SERVICE_NOT_AVAILABLE.
MQLocateNext Not supported. Returns MQ_ERROR_SERVICE_NOT_AVAILABLE.
MQOpenQueue Can only open queues via PRIVATE DIRECT format name. Never fails opening outgoing queue if format name is correct and disk space is sufficient. Can only open local queues for MQ_PEEK_ACCESS and MQ_RECEIVE_ACCESS.
MQPathNameToFormatName Returns PRIVATE DIRECT format name.
MQReceiveMessage The pTransaction parameter is not supported. Set it to NULL. If they are specified, the following encryption properties return MQ_ERROR_COMPUTER_DOES
_NOT_SUPPORT_ENCRYPTION:

PROPID_M_HASH_ALG
PROPID_M_ENCRYPTION_ALG
PROPID_M_PROV_TYPE
PROPID_M_SECURITY_CONTEXT

Other encryption properties return NULL data.

MQSendMessage Only single message transactions are supported. Some properties are not supported . For more information, see MQSendMessage Implementation.
MQSetQueueProperties Can only set properties on local queues using DIRECT format name.

PROPID_Q_AUTHENTICATE can only be MQ_AUTHENTICATE_NONE. PROPID_Q_JOURNAL is only supported for queues created with the journal property. For more information, see MQSendMessage Implementation.

MQSetQueueSecurity Not supported. Returns MQ_ERROR_SERVICE_NOT_AVAILABLE.