3.3.4.7 PokeW (Opnum 6)
The PokeW method is equivalent in all ways to the Poke method except that its string parameters are encoded in UTF-16.
-
HRESULT PokeW( [in] handle_t hBinding, [in] SESSION_RANK sRank, [in, string, range(GUID_LENGTH, GUID_LENGTH)] wchar_t pwszCalleeUuid[], [in, string, range(1, MAX_COMPUTERNAME_LENGTH+1)] wchar_t pwszHostName[], [in, string, range(GUID_LENGTH, GUID_LENGTH)] wchar_t pwszUuidString[], [in, range(sizeof(BIND_INFO_BLOB),sizeof(BIND_INFO_BLOB))] DWORD dwcbSizeOfBlob, [in, size_is(dwcbSizeOfBlob)] unsigned char rguchBlob[] );
hBinding: The RPC primitive binding handle, as specified in [C706] part 3.
sRank: The SESSION_RANK of the partner making the call. This parameter MUST be set to 0x02 (SRANK_SECONDARY).
-
Value
Meaning
SRANK_SECONDARY
0x02
The caller is the secondary participant.
pwszCalleeUuid: The string form of the primary partner contact identifier (CID). The contact identifier (CID) MUST match the contact identifier (CID) in the primary partner local name object, and MUST be formatted into a string.
pwszHostName: The string form of the caller's host name. This host name identifies the machine in which the caller's instance of the MSDTC Connection Manager: OleTx Transports Protocol is running. This MUST be a NetBIOS name. For NetBIOS, see [NETBEUI], [RFC1001], and [RFC1002].
pwszUuidString: The string form of the caller's contact identifier (CID). This contact identifier (CID) identifies the caller's instance of the MSDTC Connection Manager: OleTx Transports Protocol; it MUST match the contact identifier (CID) in the caller's local name object and MUST be formatted into a string.
dwcbSizeOfBlob: The count, in bytes, of the size of the binding info structure. This parameter MUST be set to the size of the BIND_INFO_BLOB, 8.
rguchBlob: A byte array that contains a BIND_INFO_BLOB structure.
Return Values: This method MUST return zero (0x00000000) on success. On failure, it MUST return an implementation-specific HRESULT. A client MUST NOT depend on implementation-specific failure HRESULT values. From an over-the-wire communication point of view, the client MUST implement only a behavior for the case when the call succeeds and another behavior for the case when the call does not succeed, (see section 3.4.6.1.2). Standard errors are defined in [MS-ERREF] section 2.2.
-
Return value/code
Description
0x00000000
ERROR_STATUS
The return value indicates success.
0x000006D1
RPC_S_PROCNUM_OUT_OF_RANGE
The return value indicates that the caller does not support this call.
0x80000123
E_CM_SERVER_NOT_READY
The session object is not in the Connecting state.<28>
0x80070057
E_INVALIDARG
The return value indicates that one of the specified arguments is invalid.<29>
0x000006BB
RPC_S_SERVER_TOO_BUSY
The return value indicates that the partner is too busy to complete this operation. For more information, see [MS-RPCE] section 3.1.1.5.5.
0x80000173
E_CM_S_PROTOCOL_NOT_SUPPORTED
The return value indicates that none of the protocols described in the rguchBlob parameter is supported by the partner.
When a partner calls PokeW on another partner, an error code of RPC_S_PROCNUM_OUT_OF_RANGE means that the callee does not support PokeW.