Поделиться через


Функция 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_*.

Примечание Список допустимых кодов ошибок см. в разделе Возвращаемые значения RPC.
 

Комментарии

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

См. также раздел

RpcServerSubscribeForNotification