Функция 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 структура, содержащая дескриптор привязки для текущего вызова RPC, указанного в предыдущем вызове RpcServerSubscribeForNotification. Если эта функция вызывается в том же потоке, в который RPC отправил вызов, для этого параметра можно задать значение NULL; В противном случае в этом параметре должен быть передан явный дескриптор привязки.
[in] Notification
Значение из перечисления RPC_NOTIFICATIONS , указывающее тип уведомления, запрошенного сервером из RPC. Уведомления должны быть отменены по отдельности, несколько значений не поддерживаются.
Windows Vista: В настоящее время поддерживаются только RpcNotificationClientDisconnect и RpcNotificationCallCancel . Если для этого параметра указано любое другое значение, возвращается код ошибки RPC_S_CANNOT_SUPPORT.
[out] NotificationsQueued
Обязательный указатель на значение, которое получает количество уведомлений, которые среда выполнения RPC помещает в очередь для указанного вызова RPC. Указатель должен быть указан; он не является необязательным.
Код должен отслеживать количество получаемых уведомлений. При отмене подписки на уведомления RPC следует проверка, совпадает ли количество уведомлений, помещенных в очередь среды выполнения RPC, количеству полученных уведомлений. Если числа не совпадают, некоторые уведомления могут по-прежнему входящий в другой поток. Следует отложить очистку состояния уведомлений, пока не получите все входящие уведомления.
Возвращаемое значение
Эта функция возвращает RPC_S_OK об успешном выполнении; в противном случае возвращается код ошибки RPC_S_*.
Комментарии
RpcServerUnsubscribeForNotification должен вызываться для каждого дескриптора привязки RPC, для которого также был вызван RpcServerSubscribeForNotification для связанного вызова RPC. Этот API необходимо вызвать до завершения связанного вызова RPC; В противном случае результаты не определены и могут привести к нестабильной работе приложения.
После возврата этого API могут быть получены невосприимчивые уведомления.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista, Windows XP с пакетом обновления 2 (SP2) [только классические приложения] |
Минимальная версия сервера | Windows Server 2008, Windows Server 2003 с пакетом обновления 1 (SP1) [только классические приложения] |
Целевая платформа | Windows |
Header | rpcasync.h (включая Rpc.h) |
Библиотека | Rpcrt4.lib |
DLL | Rpcrt4.dll |