3.1.1.4.2 IRPCAsyncNotify_UnregisterClient (Opnum 1)
The IRPCAsyncNotify_UnregisterClient method is called by registered clients to unregister previously-registered remote objects. For this call to succeed, the remote object MUST have already successfully called IRPCAsyncNotify_RegisterClient.
-
HRESULT IRPCAsyncNotify_UnregisterClient( [in] PRPCREMOTEOBJECT pRegistrationObj );
pRegistrationObj: MUST be the remote object context handle that MUST have been successfully registered by a prior call to IRPCAsyncNotify_RegisterClient. This value MUST NOT be NULL.
Return Values: This method MUST return an HRESULT success value ([MS-ERREF] section 2.1.1) to indicate success, or an HRESULT error value to indicate failure. The client MUST consider all error return values fatal and report them to the higher-level caller.
Exceptions Thrown: No exceptions are thrown beyond those thrown by the underlying RPC protocol [MS-RPCE].
If a client call to IRPCAsyncNotify_GetNewChannel or IRPCAsyncNotify_GetNotification is blocked on the server waiting for a notification channel or notification to become available, the server MUST process a client call to IRPCAsyncNotify_UnregisterClient without waiting for the notification channel or notification.
A server MUST NOT do the following:
Indicate success to a client call of IRPCAsyncNotify_UnregisterClient unless a prior call to IRPCAsyncNotify_RegisterClient succeeded using the same PRPCREMOTEOBJECT value.
Indicate success to a client call of IRPCAsyncNotify_UnregisterClient following a prior successful call to IRPCAsyncNotify_UnregisterClient by using the same PRPCREMOTEOBJECT value.
A client MUST NOT do the following:
Call IRPCAsyncNotify_UnregisterClient, unless a prior call to IRPCAsyncNotify_RegisterClient succeeded by using the same PRPCREMOTEOBJECT value.
Call IRPCAsyncNotify_UnregisterClient following a prior call to IRPCAsyncNotify_UnregisterClient by using the same PRPCREMOTEOBJECT value.