共用方式為


RpcServerUnsubscribeForNotification 函式 (rpcasync.h)

RpcServerUnsubscribeForNotification 函式會取消訂閱 RPC 通知的伺服器。

語法

RPC_STATUS RpcServerUnsubscribeForNotification(
  [in]  RPC_BINDING_HANDLE Binding,
  [in]  RPC_NOTIFICATIONS  Notification,
  [out] unsigned long      *NotificationsQueued
);

參數

[in] Binding

RPC_BINDING_HANDLE 結構,其中包含先前呼叫 RpcServerSubscribeForNotification 中指定的目前 RPC 呼叫的系結句柄。 如果在 RPC 分派呼叫所在的相同線程上呼叫此函式,可以將此參數設定為 NULL;否則,必須傳入此參數中的明確系結句柄。

[in] Notification

來自 RPC_NOTIFICATIONS 列舉的值,指定伺服器從 RPC 所要求的通知類型。 通知必須個別取消訂閱,不支援多個值。

Windows Vista: 目前僅支援 RpcNotificationClientDisconnectRpcNotificationCallCancel 。 如果為此參數指定任何其他值,則會傳回RPC_S_CANNOT_SUPPORT錯誤碼。

[out] NotificationsQueued

值的必要指標,這個值會接收 RPC 運行時間針對指定 RPC 呼叫排入佇列的通知數目。 必須提供指標;它不是選擇性的。

您的程式代碼應該追蹤其收到的通知數目。 當您取消訂閱 RPC 通知時,應該檢查 RPC 運行時間排入佇列的通知數目是否符合您收到的通知數目。 如果數位不相符,某些通知仍可能會在另一個線程上傳入。 您應該延遲清除通知狀態,直到您收到所有傳入通知為止。

傳回值

此函式會在成功時傳回RPC_S_OK;否則,會傳回RPC_S_* 錯誤碼。

注意 如需有效錯誤碼的清單,請參閱 RPC 傳回值
 

備註

RpcServerUnsubscribeForNotification 必須針對也有針對相關聯 RPC 呼叫的 RpcServerSubscribeForNotification 的每個 RPC 系結句柄呼叫 RpcServerSubscribeForNotification 。 必須先呼叫此 API,才能完成相關聯的 RPC 呼叫;否則,結果為未定義,而且可能會導致應用程式不穩定。

在此 API 傳回之後,可能會擷取未重試的通知。

規格需求

需求
最低支援的用戶端 Windows Vista、Windows XP SP2 [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2008、Windows Server 2003 SP1 [僅限傳統型應用程式]
目標平台 Windows
標頭 rpcasync.h (包含 Rpc.h)
程式庫 Rpcrt4.lib
Dll Rpcrt4.dll

另請參閱

RpcServerSubscribeForNotification