RpcServerUnregisterIfEx-Funktion (rpcdce.h)

Die RpcServerUnregisterIfEx-Funktion entfernt eine Schnittstelle aus der RPC-Laufzeitbibliotheksregistrierung. Diese Funktion erweitert die Funktionalität der RpcServerUnregisterIf-Funktion .

Syntax

RPC_STATUS RpcServerUnregisterIfEx(
  [in] RPC_IF_HANDLE IfSpec,
  [in] UUID          *MgrTypeUuid,
  [in] int           RundownContextHandles
);

Parameter

[in] 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.

[in] 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.

[in] RundownContextHandles

Gibt an, ob rundown für aktive Kontexthandles aufgerufen wird. Wenn der Wert ungleich 0 ist, wird der Rundown aufgerufen, sobald alle Aufrufe auf der Schnittstelle abgeschlossen sind. Wenn dieser Wert auf 0 festgelegt ist, wird bei der RPC-Laufzeit davon ausgegangen, dass der Server seinen Teil des Kontexthandles bereits zerstört hat und die Rundownroutinen nicht aufgerufen werden.

Rückgabewert

Gibt RPC-status zurück. RpcServerUnregisterIfEx schlägt nur fehl, wenn ungültige Werte angegeben werden.

Hinweis Eine Liste der gültigen Fehlercodes finden Sie unter RPC-Rückgabewerte.
 

Hinweise

Die RpcServerUnregisterIfEx-Funktion wartet, bis alle Aufrufe auf einer bestimmten Schnittstelle abgeschlossen sind, bevor die Registrierung der Kontexthandles aufgehoben wird.

Die RpcServerUnregisterIfEx-Funktion stellt alle Funktionen bereit, die in der RpcServerUnregisterIf-Funktion bereitgestellt werden. Darüber hinaus hebt die RpcServerUnregisterIfEx-Funktion die Registrierung aller Kontexthandles auf, die von der angegebenen Schnittstelle registriert wurden. Die Schnittstelle muss das attribut strict_context_handle verwenden, andernfalls sind die Ergebnisse nicht definiert.

RpcServerUnregisterIfEx ist die einzige Funktion, die das sichere Entladen einer DLL mit aktiven Kontexthandles außerhalb des Herunterfahrens des Prozesses ermöglicht. Es ist nur unter Windows XP und höheren Versionen von Windows verfügbar.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [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

RpcServerUnregisterIf

Verwenden von Kontexthandles