📄 mq.h
字号:
//----- PROPID_M_TRACE ----------------------
#define MQMSG_TRACE_NONE 0
#define MQMSG_SEND_ROUTE_TO_REPORT_QUEUE 1
//----- PROPID_M_SENDERID_TYPE --------------
#define MQMSG_SENDERID_TYPE_NONE 0
#define MQMSG_SENDERID_TYPE_SID 1
//----- PROPID_M_PRIV_LEVEL -----------------
#define MQMSG_PRIV_LEVEL_NONE 0
#define MQMSG_PRIV_LEVEL_BODY 0x01
#define MQMSG_PRIV_LEVEL_BODY_BASE 0x01
#define MQMSG_PRIV_LEVEL_BODY_ENHANCED 0x03
//----- PROPID_M_AUTH_LEVEL -----------------
#define MQMSG_AUTH_LEVEL_NONE 0
#define MQMSG_AUTH_LEVEL_ALWAYS 1
//----- PROPID_M_AUTHENTICATED --------------
#define MQMSG_AUTHENTICATION_NOT_REQUESTED 0
#define MQMSG_AUTHENTICATION_REQUESTED 1
//----- PROPID_M_FIRST_IN_XACT --------------
#define MQMSG_NOT_FIRST_IN_XACT 0
#define MQMSG_FIRST_IN_XACT 1
//----- PROPID_M_LAST_IN_XACT --------------
#define MQMSG_NOT_LAST_IN_XACT 0
#define MQMSG_LAST_IN_XACT 1
//********************************************************************
// QUEUE PROPERTIES
//********************************************************************
#define PROPID_Q_BASE 100
#define PROPID_Q_INSTANCE (PROPID_Q_BASE + 1) /* VT_CLSID */
#define PROPID_Q_TYPE (PROPID_Q_BASE + 2) /* VT_CLSID */
#define PROPID_Q_PATHNAME (PROPID_Q_BASE + 3) /* VT_LPWSTR */
#define PROPID_Q_JOURNAL (PROPID_Q_BASE + 4) /* VT_UI1 */
#define PROPID_Q_QUOTA (PROPID_Q_BASE + 5) /* VT_UI4 */
#define PROPID_Q_BASEPRIORITY (PROPID_Q_BASE + 6) /* VT_I2 */
#define PROPID_Q_JOURNAL_QUOTA (PROPID_Q_BASE + 7) /* VT_UI4 */
#define PROPID_Q_LABEL (PROPID_Q_BASE + 8) /* VT_LPWSTR */
#define PROPID_Q_CREATE_TIME (PROPID_Q_BASE + 9) /* VT_I4 */
#define PROPID_Q_MODIFY_TIME (PROPID_Q_BASE + 10) /* VT_I4 */
#define PROPID_Q_AUTHENTICATE (PROPID_Q_BASE + 11) /* VT_UI1 */
#define PROPID_Q_PRIV_LEVEL (PROPID_Q_BASE + 12) /* VT_UI4 */
#define PROPID_Q_TRANSACTION (PROPID_Q_BASE + 13) /* VT_UI1 */
#define PROPID_Q_PATHNAME_DNS (PROPID_Q_BASE + 24) /* VT_LPWSTR */
//----- PROPID_Q_JOURNAL ------------------
#define MQ_JOURNAL_NONE (unsigned char)0
#define MQ_JOURNAL (unsigned char)1
//----- PROPID_Q_TYPE ------------------
// {55EE8F32-CCE9-11cf-B108-0020AFD61CE9}
#define MQ_QTYPE_REPORT {0x55ee8f32, 0xcce9, 0x11cf, \
{0xb1, 0x8, 0x0, 0x20, 0xaf, 0xd6, 0x1c, 0xe9}}
// {55EE8F33-CCE9-11cf-B108-0020AFD61CE9}
#define MQ_QTYPE_TEST {0x55ee8f33, 0xcce9, 0x11cf, \
{0xb1, 0x8, 0x0, 0x20, 0xaf, 0xd6, 0x1c, 0xe9}}
//----- PROPID_Q_TRANSACTION ------------------
#define MQ_TRANSACTIONAL_NONE (unsigned char)0
#define MQ_TRANSACTIONAL (unsigned char)1
//----- PROPID_Q_AUTHENTICATE ------------------
#define MQ_AUTHENTICATE_NONE (unsigned char)0
#define MQ_AUTHENTICATE (unsigned char)1
//----- PROPID_Q_PRIV_LEVEL ------------------
#define MQ_PRIV_LEVEL_NONE (unsigned long)0
#define MQ_PRIV_LEVEL_OPTIONAL (unsigned long)1
#define MQ_PRIV_LEVEL_BODY (unsigned long)2
//********************************************************************
// MACHINE PROPERTIES
//********************************************************************
#define PROPID_QM_BASE 200
#define PROPID_QM_SITE_ID (PROPID_QM_BASE + 1) /* VT_CLSID */
#define PROPID_QM_MACHINE_ID (PROPID_QM_BASE + 2) /* VT_CLSID */
#define PROPID_QM_PATHNAME (PROPID_QM_BASE + 3) /* VT_LPWSTR */
#define PROPID_QM_CONNECTION (PROPID_QM_BASE + 4) /* VT_LPWSTR|VT_VECTOR */
#define PROPID_QM_ENCRYPTION_PK (PROPID_QM_BASE + 5) /* VT_BLOB */
#define PROPID_QM_ENCRYPTION_PK_BASE (PROPID_QM_BASE + 31) /* VT_UI1|VT_VECTOR */
#define PROPID_QM_ENCRYPTION_PK_ENHANCED (PROPID_QM_BASE + 32) /* VT_UI1|VT_VECTOR */
#define PROPID_QM_PATHNAME_DNS (PROPID_QM_BASE + 33) /* VT_LPWSTR */
//
// LONG_LIVED is the default for PROPID_M_TIME_TO_REACH_QUEUE. If call
// to MQSendMessage() specify this value, or not give this property at
// all, then the actual timeout is taken from MQIS database.
//
#define LONG_LIVED 0xfffffffe
//********************************************************************
// PRIVATE COMPUTER PROPERTIES
//********************************************************************
#define PROPID_PC_BASE 5800
#define PROPID_PC_VERSION (PROPID_PC_BASE + 1) /* VT_UI4 */
#define PROPID_PC_DS_ENABLED (PROPID_PC_BASE + 2) /* VT_BOOL */
//
// Success
//
#define MQ_OK 0L
#ifndef FACILITY_MSMQ
#define FACILITY_MSMQ 0x0E
#endif
//
// Error
//
//
// Values are 32 bit values layed out as follows:
//
// 3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1
// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
// +---+-+-+-----------------------+-------------------------------+
// |Sev|C|R| Facility | Code |
// +---+-+-+-----------------------+-------------------------------+
//
// where
//
// Sev - is the severity code
//
// 00 - Success
// 01 - Informational
// 10 - Warning
// 11 - Error
//
// C - is the Customer code flag
//
// R - is a reserved bit
//
// Facility - is the facility code
//
// Code - is the facility's status code
//
//
// Define the facility codes
//
//
// Define the severity codes
//
//
// MessageId: MQ_ERROR
//
// MessageText:
//
// GenericError
//
#define MQ_ERROR 0xC00E0001L
//
// MessageId: MQ_ERROR_PROPERTY
//
// MessageText:
//
// One or more of the passed properties are invalid.
//
#define MQ_ERROR_PROPERTY 0xC00E0002L
//
// MessageId: MQ_ERROR_QUEUE_NOT_FOUND
//
// MessageText:
//
// The queue does not exist, or you do not have sufficient permissions to perform the operation.
//
#define MQ_ERROR_QUEUE_NOT_FOUND 0xC00E0003L
//
// MessageId: MQ_ERROR_QUEUE_EXISTS
//
// MessageText:
//
// A queue with the same pathname already exists.
//
#define MQ_ERROR_QUEUE_EXISTS 0xC00E0005L
//
// MessageId: MQ_ERROR_INVALID_PARAMETER
//
// MessageText:
//
// An invalid parameter was passed to a function.
//
#define MQ_ERROR_INVALID_PARAMETER 0xC00E0006L
//
// MessageId: MQ_ERROR_INVALID_HANDLE
//
// MessageText:
//
// An invalid handle was passed to a function.
//
#define MQ_ERROR_INVALID_HANDLE 0xC00E0007L
//
// MessageId: MQ_ERROR_OPERATION_CANCELLED
//
// MessageText:
//
// The operation was cancelled before it could be completed.
//
#define MQ_ERROR_OPERATION_CANCELLED 0xC00E0008L
//
// MessageId: MQ_ERROR_SHARING_VIOLATION
//
// MessageText:
//
// There is a sharing violation. The queue is already open for an exclusive receive.
//
#define MQ_ERROR_SHARING_VIOLATION 0xC00E0009L
//
// MessageId: MQ_ERROR_SERVICE_NOT_AVAILABLE
//
// MessageText:
//
// The Message Queuing service is not available
//
#define MQ_ERROR_SERVICE_NOT_AVAILABLE 0xC00E000BL
//
// MessageId: MQ_ERROR_MACHINE_NOT_FOUND
//
// MessageText:
//
// The specified computer could not be found.
//
#define MQ_ERROR_MACHINE_NOT_FOUND 0xC00E000DL
//
// MessageId: MQ_ERROR_ILLEGAL_SORT
//
// MessageText:
//
// The sort operation specified in MQLocateBegin is invalid (for example: duplicate columns).
//
#define MQ_ERROR_ILLEGAL_SORT 0xC00E0010L
//
// MessageId: MQ_ERROR_ILLEGAL_USER
//
// MessageText:
//
// The user specified is not a valid user.
//
#define MQ_ERROR_ILLEGAL_USER 0xC00E0011L
//
// MessageId: MQ_ERROR_NO_DS
//
// MessageText:
//
// Unable to establish a connection with Active Directory. Verify there are sufficient permissions to perform this operation.
//
#define MQ_ERROR_NO_DS 0xC00E0013L
//
// MessageId: MQ_ERROR_ILLEGAL_QUEUE_PATHNAME
//
// MessageText:
//
// The queue pathname specified is invalid.
//
#define MQ_ERROR_ILLEGAL_QUEUE_PATHNAME 0xC00E0014L
//
// MessageId: MQ_ERROR_ILLEGAL_PROPERTY_VALUE
//
// MessageText:
//
// The property value specified is invalid.
//
#define MQ_ERROR_ILLEGAL_PROPERTY_VALUE 0xC00E0018L
//
// MessageId: MQ_ERROR_ILLEGAL_PROPERTY_VT
//
// MessageText:
//
// The VARTYPE value specified is invalid.
//
#define MQ_ERROR_ILLEGAL_PROPERTY_VT 0xC00E0019L
//
// MessageId: MQ_ERROR_BUFFER_OVERFLOW
//
// MessageText:
//
// The buffer supplied to MQReceiveMessage for message body retrieval
// was too small. The message was not removed from the queue and part
// of the message body that is in the buffer was copied.
//
#define MQ_ERROR_BUFFER_OVERFLOW 0xC00E001AL
//
// MessageId: MQ_ERROR_IO_TIMEOUT
//
// MessageText:
//
// The MQReceiveMessage timeout has expired
//
#define MQ_ERROR_IO_TIMEOUT 0xC00E001BL
//
// MessageId: MQ_ERROR_ILLEGAL_CURSOR_ACTION
//
// MessageText:
//
// The MQ_ACTION_PEEK_NEXT value specified for MQReceiveMessage cannot be used with
// the current cursor position.
//
#define MQ_ERROR_ILLEGAL_CURSOR_ACTION 0xC00E001CL
//
// MessageId: MQ_ERROR_MESSAGE_ALREADY_RECEIVED
//
// MessageText:
//
// A message that is currently pointed at by the cursor has been removed from
// the queue by another process or by another call to MQReceiveMessage
// without the use of this cursor.
//
#define MQ_ERROR_MESSAGE_ALREADY_RECEIVED 0xC00E001DL
//
// MessageId: MQ_ERROR_ILLEGAL_FORMATNAME
//
// MessageText:
//
// The specified format name is invalid.
//
#define MQ_ERROR_ILLEGAL_FORMATNAME 0xC00E001EL
//
// MessageId: MQ_ERROR_FORMATNAME_BUFFER_TOO_SMALL
//
// MessageText:
//
// The format name buffer supplied to the API was too small
// to hold the format name.
//
#define MQ_ERROR_FORMATNAME_BUFFER_TOO_SMALL 0xC00E001FL
//
// MessageId: MQ_ERROR_UNSUPPORTED_FORMATNAME_OPERATION
//
// MessageText:
//
// The requested operation for the specified format name is not
// supported (for example:: delete a direct queue format name).
//
#define MQ_ERROR_UNSUPPORTED_FORMATNAME_OPERATION 0xC00E0020L
//
// MessageId: MQ_ERROR_ILLEGAL_SECURITY_DESCRIPTOR
//
// MessageText:
//
// The specified security descriptor is invalid.
//
#define MQ_ERROR_ILLEGAL_SECURITY_DESCRIPTOR 0xC00E0021L
//
// MessageId: MQ_ERROR_SENDERID_BUFFER_TOO_SMALL
//
// MessageText:
//
// The size of the buffer for the user ID property is too small.
//
#define MQ_ERROR_SENDERID_BUFFER_TOO_SMALL 0xC00E0022L
//
// MessageId: MQ_ERROR_SECURITY_DESCRIPTOR_TOO_SMALL
//
// MessageText:
//
// The size of the buffer passed to MQGetQueueSecurity is too small.
//
#define MQ_ERROR_SECURITY_DESCRIPTOR_TOO_SMALL 0xC00E0023L
//
// MessageId: MQ_ERROR_CANNOT_IMPERSONATE_CLIENT
//
// MessageText:
//
// The RPC server can not impersonate the client application, so the security
// credentials could not be verified.
//
#define MQ_ERROR_CANNOT_IMPERSONATE_CLIENT 0xC00E0024L
//
// MessageId: MQ_ERROR_ACCESS_DENIED
//
// MessageText:
//
// Access is denied.
//
#define MQ_ERROR_ACCESS_DENIED 0xC00E0025L
//
// MessageId: MQ_ERROR_PRIVILEGE_NOT_HELD
//
// MessageText:
//
// The client does not have sufficient security privileges to perform the operation.
//
#define MQ_ERROR_PRIVILEGE_NOT_HELD 0xC00E0026L
//
// MessageId: MQ_ERROR_INSUFFICIENT_RESOURCES
//
// MessageText:
//
// There are insufficient resources to perform the operation.
//
#define MQ_ERROR_INSUFFICIENT_RESOURCES 0xC00E0027L
//
// MessageId: MQ_ERROR_USER_BUFFER_TOO_SMALL
//
// MessageText:
//
// The request failed because the user buffer is too small to hold the returned information.
//
#define MQ_ERROR_USER_BUFFER_TOO_SMALL 0xC00E0028L
//
// MessageId: MQ_ERROR_MESSAGE_STORAGE_FAILED
//
// MessageText:
//
// Unable to store a recoverable or a journal message. The message was not sent.
//
#define MQ_ERROR_MESSAGE_STORAGE_FAILED 0xC00E002AL
//
// MessageId: MQ_ERROR_SENDER_CERT_BUFFER_TOO_SMALL
//
// MessageText:
//
// The buffer for the user certificate property is too small.
//
#define MQ_ERROR_SENDER_CERT_BUFFER_TOO_SMALL 0xC00E002BL
//
// MessageId: MQ_ERROR_INVALID_CERTIFICATE
//
// MessageText:
//
// The user certificate is invalid.
//
#define MQ_ERROR_INVALID_CERTIFICATE 0xC00E002CL
//
// MessageId: MQ_ERROR_CORRUPTED_INTERNAL_CERTIFICATE
//
// MessageText:
//
// The internal Message Queuing certificate is corrupted.
//
#define MQ_ERROR_CORRUPTED_INTERNAL_CERTIFICATE 0xC00E002DL
//
// MessageId: MQ_ERROR_NO_INTERNAL_USER_CERT
//
// MessageText:
//
// The internal Message Queuing certificate for the user does not exist.
//
#define MQ_ERROR_NO_INTERNAL_USER_CERT 0xC00E002FL
//
// MessageId: MQ_ERROR_CORRUPTED_SECURITY_DATA
//
// MessageText:
//
// A cryptographic function has failed.
//
#define MQ_ERROR_CORRUPTED_SECURITY_DATA 0xC00E0030L
//
// MessageId: MQ_ERROR_CORRUPTED_PERSONAL_CERT_STORE
//
// MessageText:
//
// The personal certificate store is corrupted.
//
#define MQ_ERROR_CORRUPTED_PERSONAL_CERT_STORE 0xC00E0031L
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -