RpcServerUnsubscribeForNotification, fonction (rpcasync.h)
La fonction RpcServerUnsubscribeForNotification désabonne le serveur des notifications RPC.
Syntaxe
RPC_STATUS RpcServerUnsubscribeForNotification(
[in] RPC_BINDING_HANDLE Binding,
[in] RPC_NOTIFICATIONS Notification,
[out] unsigned long *NotificationsQueued
);
Paramètres
[in] Binding
RPC_BINDING_HANDLE structure qui contient le handle de liaison pour l’appel RPC actuel spécifié dans un appel précédent à RpcServerSubscribeForNotification. Si cette fonction est appelée sur le même thread sur lequel RPC a distribué un appel, ce paramètre peut être défini sur NULL ; sinon, un handle de liaison explicite doit être passé dans ce paramètre.
[in] Notification
Valeur de l’énumération RPC_NOTIFICATIONS qui spécifie le type de notification demandée à RPC par le serveur. Les notifications doivent être désinscrits individuellement, plusieurs valeurs ne sont pas prises en charge.
Windows Vista : Actuellement, seuls RpcNotificationClientDisconnect et RpcNotificationCallCancel sont pris en charge. Si une autre valeur est spécifiée pour ce paramètre, le code d’erreur RPC_S_CANNOT_SUPPORT est retourné.
[out] NotificationsQueued
Pointeur requis vers une valeur qui reçoit le nombre de notifications que le runtime RPC a mis en file d’attente pour l’appel RPC spécifié. Le pointeur doit être fourni ; il n’est pas facultatif.
Votre code doit suivre le nombre de notifications qu’il reçoit. Lorsque vous vous désabonnez des notifications RPC, vous devez case activée si le nombre de notifications mises en file d’attente par le runtime RPC correspond au nombre de notifications que vous avez reçues. Si les nombres ne correspondent pas, certaines notifications peuvent toujours être entrantes sur un autre thread. Vous devez retarder le nettoyage de l’état de notification jusqu’à ce que vous receviez toutes les notifications entrantes.
Valeur retournée
Cette fonction retourne RPC_S_OK en cas de réussite ; sinon, un code d’erreur RPC_S_* est retourné.
Remarques
RpcServerUnsubscribeForNotification doit être appelé pour chaque handle de liaison RPC sur lequel RpcServerSubscribeForNotification a également été appelé pour l’appel RPC associé. Cette API doit être appelée avant la fin de l’appel RPC associé ; sinon, les résultats ne sont pas définis et peuvent entraîner une instabilité de l’application.
Les notifications non traitées peuvent être récupérées après le retour de cette API.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows Vista, Windows XP avec SP2 [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2008, Windows Server 2003 avec SP1 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | rpcasync.h (inclure Rpc.h) |
Bibliothèque | Rpcrt4.lib |
DLL | Rpcrt4.dll |