Share via


RpcServerUnregisterIf, fonction (rpcdce.h)

La fonction RpcServerUnregisterIf supprime une interface du registre de la bibliothèque d’exécution RPC.

Syntaxe

RPC_STATUS RpcServerUnregisterIf(
  RPC_IF_HANDLE IfSpec,
  UUID          *MgrTypeUuid,
  unsigned int  WaitForCallsToComplete
);

Paramètres

IfSpec

Interface à supprimer du Registre.

Spécifiez une valeur Null pour supprimer toutes les interfaces précédemment inscrites avec la valeur UUID de type spécifiée dans le paramètre MgrTypeUuid .

MgrTypeUuid

Pointeur vers le type UUID du vecteur de point d’entrée (EPV) du gestionnaire à supprimer du Registre. La valeur de MgrTypeUuid doit être la même que celle fournie dans un appel à la fonction RpcServerRegisterIf , à la fonction RpcServerRegisterIf2 ou à la fonction RpcServerRegisterIfEx .

Spécifiez une valeur Null pour supprimer l’interface spécifiée dans le paramètre IfSpec pour tous les UUID de type précédemment inscrits du Registre.

Spécifiez un UUID nil pour supprimer l’EPV de gestionnaire par défaut généré par MIDL du Registre. Dans ce cas, tous les APE de gestionnaire inscrits avec un UUID de type non nil restent inscrits.

WaitForCallsToComplete

Indicateur qui indique s’il faut supprimer immédiatement l’interface du Registre ou attendre que tous les appels en cours soient terminés.

Spécifiez la valeur zéro pour ignorer les appels en cours et supprimer immédiatement l’interface du Registre. Spécifiez une valeur différente de zéro pour attendre que tous les appels actifs se terminent.

Valeur retournée

Valeur Signification
RPC_S_OK
L’appel a réussi.
RPC_S_UNKNOWN_MGR_TYPE
Type de gestionnaire inconnu.
RPC_S_UNKNOWN_IF
Interface inconnue.
 
Note Pour obtenir la liste des codes d’erreur valides, consultez Valeurs de retour RPC.
 

Remarques

Un serveur appelle RpcServerUnregisterIf pour supprimer l’association entre une interface et un EPV de gestionnaire. Pour spécifier l’EPV de gestionnaire à supprimer dans le paramètre MgrTypeUuid , fournissez la valeur UUID de type qui a été spécifiée dans un appel à RpcServerRegisterIf. Une fois qu’il a été supprimé du Registre, une interface n’est plus disponible pour les applications clientes.

Lorsqu’une interface est supprimée du Registre, la bibliothèque d’exécution RPC cesse d’accepter de nouveaux appels pour cette interface. Les appels en cours d’exécution sur l’interface sont autorisés à se terminer, y compris les rappels.

Le tableau suivant récapitule le comportement de RpcServerUnregisterIf.

IfSpec MgrTypeUuid Comportement
Non null Non null Supprime du Registre l’EPV du gestionnaire associé aux paramètres spécifiés.
Non null NULL Supprime tous les APE de gestionnaire associés au paramètre IfSpec .
NULL Non null Supprime tous les VPE de gestionnaire associés au paramètre MgrTypeUuid .
NULL NULL Supprime tous les EPV de gestionnaire. Cet appel a pour effet d’empêcher le serveur de recevoir de nouveaux appels de procédure distante, car tous les VPE de gestionnaire pour toutes les interfaces ont été désinscrits.
 
 
Note Si la valeur de IfSpec est NULL, cette fonction laisse les interfaces d’écoute automatique inscrites. Les interfaces d’écoute automatique doivent être supprimées du Registre individuellement. Pour plus d’informations, consultez RpcServerRegisterIfEx .
 

Configuration requise

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

Voir aussi

RPC_MGR_EPV

Inscription d’interfaces

RpcServerRegisterIf

RpcServerRegisterIf2

RpcServerRegisterIfEx

RpcServerUnregisterIfEx