Função RpcServerUnsubscribeForNotification (rpcasync.h)
A função RpcServerUnsubscribeForNotification cancela a assinatura do servidor de notificações RPC.
Sintaxe
RPC_STATUS RpcServerUnsubscribeForNotification(
[in] RPC_BINDING_HANDLE Binding,
[in] RPC_NOTIFICATIONS Notification,
[out] unsigned long *NotificationsQueued
);
Parâmetros
[in] Binding
RPC_BINDING_HANDLE estrutura que contém o identificador de associação para a chamada RPC atual especificada em uma chamada anterior para RpcServerSubscribeForNotification. Se essa função for chamada no mesmo thread em que o RPC enviou uma chamada, esse parâmetro poderá ser definido como NULL; caso contrário, um identificador de associação explícito deve ser passado nesse parâmetro.
[in] Notification
Um valor da enumeração RPC_NOTIFICATIONS que especifica o tipo de notificação solicitada do RPC pelo servidor. As notificações devem ser canceladas individualmente, não há suporte para vários valores.
Windows Vista: Atualmente, há suporte apenas para RpcNotificationClientDisconnect e RpcNotificationCallCancel . Se qualquer outro valor for especificado para esse parâmetro, o código de erro RPC_S_CANNOT_SUPPORT será retornado.
[out] NotificationsQueued
Um ponteiro necessário para um valor que recebe o número de notificações que o runtime do RPC enfileirava para a chamada RPC especificada. O ponteiro deve ser fornecido; não é opcional.
Seu código deve acompanhar o número de notificações recebidas. Ao cancelar a assinatura de notificações RPC, você deverá marcar se o número de notificações que o runtime RPC enfileirado corresponde ao número de notificações recebidas. Se os números não corresponderem, algumas notificações ainda poderão ser recebidas em outro thread. Você deve atrasar a limpeza do estado de notificação até receber todas as notificações de entrada.
Retornar valor
Essa função retorna RPC_S_OK com êxito; caso contrário, um código de erro RPC_S_* será retornado.
Comentários
RpcServerUnsubscribeForNotification deve ser chamado para cada identificador de associação RPC que também teve RpcServerSubscribeForNotification chamado para a chamada RPC associada. Essa API deve ser chamada antes que a chamada RPC associada seja concluída; caso contrário, os resultados são indefinidos e podem levar à instabilidade do aplicativo.
As notificações não registradas podem ser recuperadas após o retorno dessa API.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows Vista, Windows XP com SP2 [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2008, Windows Server 2003 com SP1 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | rpcasync.h (inclua Rpc.h) |
Biblioteca | Rpcrt4.lib |
DLL | Rpcrt4.dll |