Partager via


RpcServerInterfaceGroupDeactivate, fonction (rpcdce.h)

La fonction RpcServerInterfaceGroupDeactivate indique au runtime RPC de tenter de fermer le groupe d’interfaces donné, en abandonnant éventuellement l’opération en cas d’activité client en attente.

Syntaxe

RPC_STATUS RpcServerInterfaceGroupDeactivate(
  [in] RPC_INTERFACE_GROUP IfGroup,
  [in] unsigned long       ForceDeactivation
);

Paramètres

[in] IfGroup

Un RPC_INTERFACE_GROUP de RpcServerInterfaceGroupCreate qui définit le groupe d’interfaces à désactiver

[in] ForceDeactivation

Si la valeur est TRUE, le runtime RPC doit ignorer l’activité du client et désactiver de manière inconditionnelle le groupe d’interfaces. Si la valeur est FALSE, l’opération doit être abandonnée si une nouvelle activité a lieu.

Valeur retournée

Valeur Signification
RPC_S_OK
L’appel a réussi.
RPC_S_SERVER_TOO_BUSY
ForceDeactivation a la valeur FALSE et l’activité client est en suspens.
 
Note Pour obtenir la liste des codes d’erreur valides, consultez Valeurs de retour RPC.
 

Remarques

RpcServerInterfaceGroupDeactivate est utilisé par les applications serveur pour annuler l’inscription des interfaces et des points de terminaison dans un groupe d’interfaces. Il effectue la majeure partie du travail d’arrêt que les applications serveur RPC doivent effectuer. Il effectue les opérations suivantes :

  • Annule l’inscription des points de terminaison et des interfaces du mappeur de point de terminaison RPC.
  • Annule l’inscription des points de terminaison du runtime du serveur.
  • Annule l’inscription des interfaces du runtime du serveur.
  • Indique au runtime d’arrêter l’écoute des appels si aucune autre interface n’est présente.

Si ForceDeactivation a la valeur FALSE, RpcServerInterfaceGroupDeactivate désactive le groupe d’interfaces uniquement s’il n’y a pas d’activité client en attente. Si une nouvelle activité arrive pendant le processus de désactivation, RPC_S_SERVER_TOO_BUSY est retournée. Dans ce cas, l’opération est restaurée et le groupe d’interfaces continue de recevoir et de distribuer des appels.

Si ForceDeactivation a la valeur TRUE, RpcServerInterfaceGroupDeactivate n’échoue pas.

Les applications de service peuvent appeler RpcServerInterfaceGroupDeactivate avec ForceDeactivation défini sur FALSE à partir de leur fonction de rappel inactive RpcServerInterfaceGroupCreate. Lorsqu’ils sont utilisés conjointement avec les déclencheurs de démarrage du service RPC, cela leur permet de s’arrêter en toute sécurité sans arrêt inactif sans passer d’appels de clients potentiels.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 8 [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2012 [applications de bureau uniquement]
Plateforme cible Windows
En-tête rpcdce.h (inclure Rpc.h)
Bibliothèque Rpcrt4.lib
DLL Rpcrt4.dll

Voir aussi

RpcServerInterfaceGroupActivate

RpcServerInterfaceGroupClose

RpcServerInterfaceGroupCreate

RpcServerInterfaceGroupInqBindings