mq.h

来自「开放源码的编译器open watcom 1.6.0版的源代码」· C头文件 代码 · 共 535 行 · 第 1/2 页

H
535
字号
#define MQ_ERROR_WRITE_NOT_ALLOWED 0xC00E0065

#define MQ_ERROR_WKS_CANT_SERVE_CLIENT 0xC00E0066

#define MQ_ERROR_DEPEND_WKS_LICENSE_OVERFLOW 0xC00E0067

#define MQ_CORRUPTED_QUEUE_WAS_DELETED 0xC00E0068

#define MQ_ERROR_REMOTE_MACHINE_NOT_AVAILABLE 0xC00E0069

#define MQ_ERROR_UNSUPPORTED_OPERATION 0xC00E006A

#define MQ_ERROR_ENCRYPTION_PROVIDER_NOT_SUPPORTED 0xC00E006B

#define MQ_ERROR_CANNOT_SET_CRYPTO_SEC_DESCR 0xC00E006C

#define MQ_ERROR_CERTIFICATE_NOT_PROVIDED 0xC00E006D

#define MQ_ERROR_Q_DNS_PROPERTY_NOT_SUPPORTED 0xC00E006E

#define MQ_ERROR_CANNOT_CREATE_CERT_STORE 0xC00E006F

#define MQ_ERROR_CANNOT_OPEN_CERT_STORE 0xC00E0070

#define MQ_ERROR_ILLEGAL_ENTERPRISE_OPERATION 0xC00E0071

#define MQ_ERROR_CANNOT_GRANT_ADD_GUID 0xC00E0072

#define MQ_ERROR_CANNOT_LOAD_MSMQOCM 0xC00E0073

#define MQ_ERROR_NO_ENTRY_POINT_MSMQOCM 0xC00E0074

#define MQ_ERROR_NO_MSMQ_SERVERS_ON_DC 0xC00E0075

#define MQ_ERROR_CANNOT_JOIN_DOMAIN 0xC00E0076

#define MQ_ERROR_CANNOT_CREATE_ON_GC 0xC00E0077

#define MQ_ERROR_GUID_NOT_MATCHING 0xC00E0078

#define MQ_ERROR_PUBLIC_KEY_NOT_FOUND 0xC00E0079

#define MQ_ERROR_PUBLIC_KEY_DOES_NOT_EXIST 0xC00E007A

#define MQ_ERROR_ILLEGAL_MQPRIVATEPROPS 0xC00E007B

#define MQ_ERROR_NO_GC_IN_DOMAIN 0xC00E007C

#define MQ_ERROR_NO_MSMQ_SERVERS_ON_GC 0xC00E007D

#define MQ_ERROR_CANNOT_GET_DN 0xC00E007E

#define MQ_ERROR_CANNOT_HASH_DATA_EX 0xC00E007F

#define MQ_ERROR_CANNOT_SIGN_DATA_EX 0xC00E0080

#define MQ_ERROR_CANNOT_CREATE_HASH_EX 0xC00E0081

#define MQ_ERROR_FAIL_VERIFY_SIGNATURE_EX 0xC00E0082

#define MQ_ERROR_CANNOT_DELETE_PSC_OBJECTS 0xC00E0083

#define MQ_ERROR_NO_MQUSER_OU 0xC00E0084

#define MQ_ERROR_CANNOT_LOAD_MQAD 0xC00E0085

#define MQ_ERROR_CANNOT_LOAD_MQDSSRV 0xC00E0086

#define MQ_ERROR_PROPERTIES_CONFLICT 0xC00E0087

#define MQ_ERROR_MESSAGE_NOT_FOUND 0xC00E0088

#define MQ_ERROR_CANT_RESOLVE_SITES 0xC00E0089

#define MQ_ERROR_NOT_SUPPORTED_BY_DEPENDENT_CLIENTS 0xC00E008A

#define MQ_ERROR_OPERATION_NOT_SUPPORTED_BY_REMOTE_COMPUTER 0xC00E008B

#define MQ_ERROR_NOT_A_CORRECT_OBJECT_CLASS 0xC00E008C

#define MQ_ERROR_MULTI_SORT_KEYS 0xC00E008D

#define MQ_ERROR_GC_NEEDED 0xC00E008E

#define MQ_ERROR_DS_BIND_ROOT_FOREST 0xC00E008F

#define MQ_ERROR_DS_LOCAL_USER 0xC00E0090

#define MQ_ERROR_Q_ADS_PROPERTY_NOT_SUPPORTED 0xC00E0091

#define MQ_ERROR_BAD_XML_FORMAT 0xC00E0092

#define MQ_ERROR_UNSUPPORTED_CLASS xC00E0093

#define MQ_ERROR_UNINITIALIZED_OBJECT 0xC00E0094

#define MQ_ERROR_CANNOT_CREATE_PSC_OBJECTS 0xC00E0095

#define MQ_ERROR_CANNOT_UPDATE_PSC_OBJECTS 0xC00E0096

#define MQSEC_DELETE_MESSAGE 0x00000001

#define MQSEC_PEEK_MESSAGE 0x00000002

#define MQSEC_WRITE_MESSAGE 0x00000004

#define MQSEC_DELETE_JOURNAL_MESSAGE 0x00000008

#define MQSEC_SET_QUEUE_PROPERTIES 0x00000010

#define MQSEC_GET_QUEUE_PROPERTIES 0x00000020

#define MQSEC_DELETE_QUEUE 0x00010000

#define MQSEC_GET_QUEUE_PERMISSIONS 0x00020000

#define MQSEC_CHANGE_QUEUE_PERMISSIONS 0x00040000

#define MQSEC_TAKE_QUEUE_OWNERSHIP 0x00080000

#define MQSEC_RECEIVE_MESSAGE (MQSEC_DELETE_MESSAGE|MQSEC_PEEK_MESSAGE)

#define MQSEC_RECEIVE_JOURNAL_MESSAGE (MQSEC_DELETE_JOURNAL_MESSAGE|MQSEC_PEEK_MESSAGE)

#define MQSEC_QUEUE_GENERIC_READ (MQSEC_GET_QUEUE_PROPERTIES|MQSEC_GET_QUEUE_PERMISSIONS|MQSEC_RECEIVE_MESSAGE|MQSEC_RECEIVE_JOURNAL_MESSAGE)

#define MQSEC_QUEUE_GENERIC_WRITE (MQSEC_GET_QUEUE_PROPERTIES|MQSEC_GET_QUEUE_PERMISSIONS|MQSEC_WRITE_MESSAGE)

#define MQSEC_QUEUE_GENERIC_ALL (MQSEC_RECEIVE_MESSAGE|MQSEC_RECEIVE_JOURNAL_MESSAGE|MQSEC_WRITE_MESSAGE|MQSEC_SET_QUEUE_PROPERTIES|MQSEC_GET_QUEUE_PROPERTIES|MQSEC_DELETE_QUEUE|MQSEC_GET_QUEUE_PERMISSIONS|MQSEC_CHANGE_QUEUE_PERMISSIONS|MQSEC_TAKE_QUEUE_OWNERSHIP)

#define MSMQ_CONNECTED L"CONNECTED"

#define MSMQ_DISCONNECTED L"DISCONNECTED"

#define MQ_RECEIVE_ACCESS 0x00000001

#define MQ_SEND_ACCESS 0x00000002

#define MQ_PEEK_ACCESS 0x00000020

#define MQ_ADMIN_ACCESS 0x00000080

#define MQ_DENY_NONE 0x00000000

#define MQ_DENY_RECEIVE_SHARE 0x00000001

#define MQ_ACTION_RECEIVE 0x00000000

#define MQ_ACTION_PEEK_CURRENT 0x80000000

#define MQ_ACTION_PEEK_NEXT 0x80000001

/*#define MQ_NO_TRANSACTION*/

/*#define MQ_MTS_TRANSACTION*/

/*#define MQ_SINGLE_MESSAGE*/

/*#define MQ_XA_TRANSACTION*/

#if (_WIN32_WINNT >= 0x0501)

#define MQ_LOOKUP_PEEK_CURRENT 0x40000010

#define MQ_LOOKUP_PEEK_NEXT 0x40000011

#define MQ_LOOKUP_PEEK_PREV 0x40000012

#define MQ_LOOKUP_PEEK_FIRST 0x40000014

#define MQ_LOOKUP_PEEK_LAST 0x40000018

#define MQ_LOOKUP_RECEIVE_CURRENT 0x40000020

#define MQ_LOOKUP_RECEIVE_NEXT 0x40000021

#define MQ_LOOKUP_RECEIVE_PREV 0x40000022

#define MQ_LOOKUP_RECEIVE_FIRST 0x40000024

#define MQ_LOOKUP_RECEIVE_LAST 0x40000028

#endif

#if (_WIN32_WINNT >= 0x0500)

#define MQCERT_REGISTER_ALWAYS 0x00000001

#define MQCERT_REGISTER_IF_NOT_EXIST 0x00000002

#endif

#define PRLT 0

#define PRLE 1

#define PRGT 2

#define PRGE 3

#define PREQ 4

#define PRNE 5

#define MQ_MIN_PRIORITY 0

#define MQ_MAX_PRIORITY 7

#define MQ_DEFAULT_PRIORITY 3

#define QUERY_SORTASCEND 0

#define QUERY_SORTDESCEND 1



typedef struct tagMQCOLUMNSET {

	ULONG cCol;

	PROPID *aCol;

} MQCOLUMNSET;

typedef PROPID MGMTPROPID;

typedef struct tagMQMGMTPROPS {

	DWORD cProp;

	MGMTPROPID *aPropID;

	MQPROPVARIANT *aPropVar;

	HRESULT *aStatus;

} MQMGMTPROPS;

typedef PROPID MSGPROPID;

typedef struct tagMQMSGPROPS {

	DWORD cProp;

	MSGPROPID *aPropID;

	MQPROPVARIANT *aPropVar;

	HRESULT *aStatus;

} MQMSGPROPS;

typedef PROPID QMPROPID;

typedef struct tagMQPRIVATEPROPS {

	DWORD cProp;

	QMPROPID *aPropID;

	MQPROPVARIANT *aPropVar;

	HRESULT *aStatus;

} MQPRIVATEPROPS;

typedef struct tagMQPROPERTYRESTRICTION {

	ULONG rel;

	PROPID prop;

	MQPROPVARIANT prval;

} MQPROPERTYRESTRICTION;

typedef struct tagMQQMPROPS {

	DWORD cProp;

	QMPROPID *aPropID;

	MQPROPVARIANT *aPropVar;

	HRESULT *aStatus;

} MQQMPROPS;

typedef PROPID QUEUEPROPID;

typedef struct tagMQQUEUEPROPS {

	DWORD cProp;

	QUEUEPROPID *aPropID;

	MQPROPVARIANT *aPropVar;

	HRESULT *aStatus;

} MQQUEUEPROPS;

typedef struct tagMQRESTRICTION {

	ULONG cRes;

	MQPROPERTYRESTRICTION *paPropRes;

} MQRESTRICTION;

typedef struct tagMQSORTKEY {

	PROPID propColumn;

	ULONG dwOrder;

} MQSORTKEY;

typedef struct tagMQSORTSET {

	ULONG cCol;

	MQSORTKEY *aCol;

} MQSORTSET;

typedef struct tagMQPROPVARIANT {

	VARTYPE vt;

	WORD wReserved1;

	WORD wReserved2;

	WORD wReserved3;

	union {

		UCHAR bVal;

		SHORT iVal;

		USHORT uiVal;

		VARIANT_BOOL boolVal;

		LONG lVal;

		ULONG ulVal;

		ULARGE_INTEGER uhVal;

		SCODE scode;

		DATE date;

		CLSID _RPC_FAR *puuid;

		BLOB blob;

		LPOLESTR bstrVal;

		LPSTR pszVal;

		LPWSTR pwszVal;

		CAUB caub;

		CAI cai;

		CAUI caui;

		CABOOL cabool;

		CAL cal;

		CAUL caul;

		CACLSID cauuid;

		CABSTR cabstr;

		CALPWSTR calpwstr;

		CAPROPVARIANT capropvar;

	};                      

} MQPROPVARIANT;

typedef struct tagSEQUENCE_INFO {

	LONGLONG SeqID;

	ULONG SeqNo; 

	ULONG PrevNo;

} SEQUENCE_INFO;

typedef HANDLE QUEUEHANDLE;

typedef VOID (*PMQRECEIVECALLBACK)(VOID);



#if (_WIN32_WINNT >= 0x0501)

HRESULT WINAPI MQADsPathToFormatName(LPCWSTR,LPWSTR,LPDWORD);

#endif

HRESULT WINAPI MQBeginTransaction(ITransaction **);

HRESULT WINAPI MQCloseCursor(HANDLE);

HRESULT WINAPI MQCloseQueue(QUEUEHANDLE);

HRESULT WINAPI MQCreateCursor(QUEUEHANDLE,PHANDLE);

HRESULT WINAPI MQCreateQueue(PSECURITY_DESCRIPTOR,MQQUEUEPROPS *,LPWSTR,LPDWORD);

HRESULT WINAPI MQDeleteQueue(LPCWSTR);

VOID WINAPI MQFreeMemory(PVOID);

VOID WINAPI MQFreeSecurityContext(HANDLE);

HRESULT WINAPI MQGetMachineProperties(LPCWSTR,const GUID *,MQQMPROPS *);

#if (_WIN32_WINNT >= 0x0500)

HRESULT WINAPI MQGetOverlappedResult(LPOVERLAPPED);

HRESULT WINAPI MQGetPrivateComputerInformation(LPCWSTR,MQPRIVATEPROPS *);

#endif

HRESULT WINAPI MQGetQueueProperties(LPCWSTR,MQQUEUEPROPS *);

HRESULT WINAPI MQGetQueueSecurity(LPCWSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,LPDWORD);

HRESULT WINAPI MQGetSecurityContext(LPVOID,DWORD,HANDLE *);

HRESULT WINAPI MQGetMachineProperties(LPCWSTR,const GUID *,MQQMPROPS *);

HRESULT WINAPI MQGetOverlappedResult(LPOVERLAPPED);

HRESULT WINAPI MQGetPrivateComputerInformation(LPCWSTR,MQPRIVATEPROPS *);

HRESULT WINAPI MQGetQueueProperties(LPCWSTR,MQQUEUEPROPS *);

HRESULT WINAPI MQGetQueueSecurity(LPCWSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,LPDWORD);

HRESULT WINAPI MQGetSecurityContext(LPVOID,DWORD,HANDLE *);

#if (_WIN32_WINNT >= 0x0500)

HRESULT WINAPI MQGetSecurityContextEx(LPVOID,DWORD,HANDLE *);

#endif

HRESULT WINAPI MQHandleToFormatName(QUEUEHANDLE,LPWSTR,LPDWORD);

HRESULT WINAPI MQInstanceToFormatName(GUID *,LPWSTR,LPDWORD);

HRESULT WINAPI MQLocateBegin(LPCWSTR,MQRESTRICTION *,MQCOLUMNSET *,MQSORTSET *,PHANDLE);

HRESULT WINAPI MQLocateEnd(HANDLE);

HRESULT WINAPI MQLocateNext(HANDLE,DWORD *,MQPROPVARIANT[]);

#if (_WIN32_WINNT >= 0x0600)

HRESULT WINAPI MQMarkMessageRejected(QUEUEHANDLE,ULONGLONG);

#endif

#if (_WIN32_WINNT >= 0x0501)

HRESULT WINAPI MQMgmtAction(LPCWSTR,LPCWSTR,LPCWSTR);

HRESULT WINAPI MQMgmtGetInfo(LPCWSTR,LPCWSTR,MQMGMTPROPS *);

#endif

#if (_WIN32_WINNT >= 0x0600)

HRESULT WINAPI MQMoveMessage(QUEUEHANDLE,QUEUEHANDLE,ULONGLONG,ITransaction *);

#endif

HRESULT WINAPI MQOpenQueue(LPCWSTR,DWORD,DWORD,QUEUEHANDLE *);

HRESULT WINAPI MQPathNameToFormatName(LPCWSTR,LPWSTR,LPDWORD);

#if (_WIN32_WINNT >= 0x0501)

HRESULT WINAPI MQPurgeQueue(QUEUEHANDLE);

#endif

HRESULT WINAPI MQReceiveMessage(QUEUEHANDLE,DWORD,DWORD,MQMSGPROPS *,LPOVERLAPPED,PMQRECEIVECALLBACK,HANDLE,ITransaction *);

#if (_WIN32_WINNT >= 0x0501)

HRESULT WINAPI MQReceiveMessageByLookupId(QUEUEHANDLE,ULONGLONG,DWORD,MQMSGPROPS *,LPOVERLAPPED,PMQRECEIVECALLBACK,ITransaction *);

#endif

#if (_WIN32_WINNT >= 0x0500)

HRESULT WINAPI MQRegisterCertificate(DWORD,PVOID,DWORD);

#endif

HRESULT WINAPI MQSendMessage(QUEUEHANDLE,MQMSGPROPS *,ITransaction *);

HRESULT WINAPI MQSetQueueProperties(LPCWSTR,MQQUEUEPROPS *);

HRESULT WINAPI MQSetQueueSecurity(LPCWSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR);



#ifdef __cplusplus

}

#endif

#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?