3.1.4.23 R_QMQueryQMRegistryInternal (Opnum 28)
A client calls the R_QMQueryQMRegistryInternal method to retrieve various string values from the supporting server.
-
HRESULT R_QMQueryQMRegistryInternal( [in] handle_t hBind, [in] DWORD dwQueryType, [out, string] WCHAR** lplpMQISServer );
hBind: MUST be set to an RPC binding handle as described in [MS-RPCE] section 2.
dwQueryType: Specifies the type and format of the data to return to the caller via the lplpMQISServer parameter. MUST be one of the values in the following table:
Value |
Meaning |
---|---|
0x00000000 |
A comma-delimited list of MQIS server names configured on the supporting server. This value is retrieved from the DirectoryServerList attribute of the server's LocalQueueManager ADM element instance. |
0x00000001 |
The server's default time-to-reach-queue message property value, expressed in seconds, converted to a string.<59><60> |
0x00000002 |
The GUID that represents the entire MSMQ forest.<61> See following for the curly braced GUID string representation to use. The string uses the "braceless" format. |
0x00000003 |
A string representation of the supporting server version.<62> |
0x00000004 |
The content of the Identifier attribute of the server's LocalQueueManager ADM element instance. The curly braced GUID string representation uses a "braceless" format given following.<63><64> |
The format for the comma-delimited list of MQIS server names (0x00000000) is given by the following augmented BNF:
-
list = [list ","] computer-name computer-name = 1*15digit digit = num-digit / uppercase-alpha-digit / lowercase-alpha-digit / special-digit num-digit = %x30-39 uppercase-alpha-digit = %x41-5Alowercase-alpha-digit = %x61-7A special-digit = "!" / "@" / "#" / "$" / "%" / "^" / "&" / "'" / ")" / "(" / "." / "-" / "_" / "{" / "}" / "~"
The GUID string for the MSMQ forest (0x00000002) uses the "braceless" format depicted in the following augmented BNF:
-
braceless-guid = dword-part "-" word-part "-" word-part "-" 2byte-part "-" 6byte-part dword-part = 2word-part word-part = 2byte-part byte-part = 2hex-digit hex-digit = %x30-39 / %x41-46 / %x61-66
The string format used for the supporting server version (0x00000003), depicted in augmented BNF, is as follows:
-
version = version-part "." version-part "." version-part version-part = 1*4num-digit num-digit = %x30-39
The GUID for the server queue manager (0x00000004) uses the following "braceless" format, depicted in augmented BNF:
-
braceless-guid = dword-part "-" word-part "-" word-part "-" 2byte-part "-" 6byte-part dword-part = 2word-part word-part = 2byte-part byte-part = 2hex-digit hex-digit = %x30-39 / %x41-46 / %x61-66
lplpMQISServer: On success, the server returns the string indicated by dwQueryType through this parameter. The server can set this parameter to NULL in the event of an error.
Return Values: On success, this method MUST return MQ_OK (0x00000000).
If input parameter values violate constraints specified above, the server MUST take no further action and return a failure HRESULT.
If any other error occurs, the server MUST return a failure HRESULT, and the client MUST treat all other failure HRESULTs identically. Additionally, if any other failure HRESULT is returned, the client MUST disregard all out-parameter values.
Exceptions Thrown: No exceptions are thrown beyond those thrown by the underlying RPC protocol, as specified in [MS-RPCE].
This method is invoked at the dynamically assigned endpoint returned by the R_QMGetRTQMServerPort method when IP_HANDSHAKE (0x00000000) or IPX_HANDSHAKE (0x00000002) is the interface specified by the fIP parameter.