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.
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 |