Freigeben über


RpcServerUnregisterIf-Funktion (rpcdce.h)

Die RpcServerUnregisterIf-Funktion entfernt eine Schnittstelle aus der RPC-Laufzeitbibliotheksregistrierung.

Syntax

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

Parameter

IfSpec

Schnittstelle, die aus der Registrierung entfernt werden soll.

Geben Sie einen NULL-Wert an, um alle Schnittstellen zu entfernen, die zuvor mit dem im MgrTypeUuid-Parameter angegebenen UUID-Typwert registriert wurden.

MgrTypeUuid

Zeiger auf den Typ UUID des Manager-Einstiegspunktvektors (EPV), der aus der Registrierung entfernt werden soll. Der Wert von MgrTypeUuid sollte derselbe Wert sein, der in einem Aufruf der RpcServerRegisterIf-Funktion , der RpcServerRegisterIf2-Funktion oder der RpcServerRegisterIfEx-Funktion angegeben wurde.

Geben Sie einen NULL-Wert an, um die im IfSpec-Parameter angegebene Schnittstelle für alle zuvor registrierten Typ-UUIDs aus der Registrierung zu entfernen.

Geben Sie eine Null-UUID an, um die von MIDL generierte Standard-Manager-EPV aus der Registrierung zu entfernen. In diesem Fall bleiben alle Manager-EPVs, die mit einer Nicht-Null-Typ-UUID registriert sind, registriert.

WaitForCallsToComplete

Flag, das angibt, ob die Schnittstelle sofort aus der Registrierung entfernt oder gewartet werden soll, bis alle aktuellen Aufrufe abgeschlossen sind.

Geben Sie den Wert 0 (null) an, um laufende Aufrufe zu ignorieren, und entfernen Sie die Schnittstelle sofort aus der Registrierung. Geben Sie einen beliebigen Wert ungleich null an, um zu warten, bis alle aktiven Aufrufe abgeschlossen sind.

Rückgabewert

Wert Bedeutung
RPC_S_OK
Der Aufruf war erfolgreich.
RPC_S_UNKNOWN_MGR_TYPE
Der Managertyp ist unbekannt.
RPC_S_UNKNOWN_IF
Die Schnittstelle ist unbekannt.
 
Hinweis Eine Liste der gültigen Fehlercodes finden Sie unter RPC-Rückgabewerte.
 

Hinweise

Ein Server ruft RpcServerUnregisterIf auf, um die Zuordnung zwischen einer Schnittstelle und einem Manager-EPV zu entfernen. Um die zu entfernende Manager-EPV im MgrTypeUuid-Parameter anzugeben, geben Sie den UUID-Typwert an, der in einem Aufruf von RpcServerRegisterIf angegeben wurde. Nachdem sie aus der Registrierung entfernt wurde, ist eine Schnittstelle für Clientanwendungen nicht mehr verfügbar.

Wenn eine Schnittstelle aus der Registrierung entfernt wird, akzeptiert die RPC-Laufzeitbibliothek keine neuen Aufrufe für diese Schnittstelle mehr. Aufrufe, die derzeit auf der Schnittstelle ausgeführt werden, können einschließlich Rückrufen abgeschlossen werden.

In der folgenden Tabelle wird das Verhalten von RpcServerUnregisterIf zusammengefasst.

IfSpec MgrTypeUuid Verhalten
Ungleich NULL Ungleich NULL Entfernt die Manager-EPV aus der Registrierung, die den angegebenen Parametern zugeordnet ist.
Ungleich NULL NULL Entfernt alle Manager-EPVs, die dem IfSpec-Parameter zugeordnet sind.
NULL Ungleich NULL Entfernt alle Manager-EPVs, die dem MgrTypeUuid-Parameter zugeordnet sind .
NULL NULL Entfernt alle Manager-EPVs. Dieser Aufruf verhindert, dass der Server neue Remoteprozeduraufrufe empfängt, da die Registrierung aller Manager-EPVs für alle Schnittstellen aufgehoben wurde.
 
 
Hinweis Wenn der Wert von IfSpecNULL ist, lässt diese Funktion schnittstellen für automatisches Lauschen registriert. Schnittstellen zum automatischen Lauschen müssen einzeln aus der Registrierung entfernt werden. Weitere Informationen finden Sie unter RpcServerRegisterIfEx .
 

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile rpcdce.h (rpc.h einschließen)
Bibliothek Rpcrt4.lib
DLL Rpcrt4.dll

Weitere Informationen

RPC_MGR_EPV

Registrieren von Schnittstellen

RpcServerRegisterWenn

RpcServerRegisterIf2

RpcServerRegisterIfEx

RpcServerUnregisterIfEx