RpcServerInterfaceGroupDeactivate-Funktion (rpcdce.h)

Die RpcServerInterfaceGroupDeactivate-Funktion weist die RPC-Runtime an, zu versuchen, die angegebene Schnittstellengruppe zu schließen. Optional wird der Vorgang abgebrochen, wenn die Clientaktivität aussteht.

Syntax

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

Parameter

[in] IfGroup

Ein RPC_INTERFACE_GROUP von RpcServerInterfaceGroupCreate , der die zu deaktivierende Schnittstellengruppe definiert

[in] ForceDeactivation

Bei TRUE sollte die RPC-Runtime die Clientaktivität ignorieren und die Schnittstellengruppe bedingungslos deaktivieren. Bei FALSE sollte der Vorgang abgebrochen werden, wenn eine neue Aktivität stattfindet.

Rückgabewert

Wert Bedeutung
RPC_S_OK
Der Aufruf war erfolgreich.
RPC_S_SERVER_TOO_BUSY
ForceDeactivation ist FALSE , und es gibt hervorragende Clientaktivitäten.
 
Hinweis Eine Liste der gültigen Fehlercodes finden Sie unter RPC-Rückgabewerte.
 

Hinweise

RpcServerInterfaceGroupDeactivate wird von Serveranwendungen verwendet, um die Registrierung der Schnittstellen und Endpunkte in einer Schnittstellengruppe aufzuheben. Sie übernimmt den Großteil der Herunterfahrensarbeiten, die RPC-Serveranwendungen ausführen müssen. Es führt die folgenden Vorgänge aus:

  • Hebt die Registrierung der Endpunkte und Schnittstellen aus der RPC-Endpunktzuordnung auf.
  • Hebt die Registrierung der Endpunkte aus der Serverlaufzeit auf.
  • Hebt die Registrierung der Schnittstellen aus der Serverlaufzeit auf.
  • Weist die Runtime an, das Lauschen auf Aufrufe zu beenden, wenn keine anderen Schnittstellen vorhanden sind.

Wenn ForceDeactivationFALSE ist, deaktiviert RpcServerInterfaceGroupDeactivate die Schnittstellengruppe nur, wenn keine ausstehende Clientaktivität vorhanden ist. Wenn während des Deaktivierungsprozesses eine neue Aktivität eintrifft, wird RPC_S_SERVER_TOO_BUSY zurückgegeben. In diesem Fall wird für den Vorgang ein Rollback ausgeführt, und die Schnittstellengruppe empfängt und sendet weiterhin Anrufe.

Wenn ForceDeactivationTRUE ist, schlägt RpcServerInterfaceGroupDeactivate nicht fehl.

Dienstanwendungen können RpcServerInterfaceGroupDeactivate aufrufen, wobei ForceDeactivation auf FALSE festgelegt ist, wenn sie die Rückruffunktion RpcServerInterfaceGroupCreate im Leerlauf verwenden. Wenn sie in Verbindung mit Starttriggern des RPC-Diensts verwendet werden, können sie sicher im Leerlauf anhalten, ohne dass Aufrufe von potenziellen Clients fehlen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 8 [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2012 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile rpcdce.h (include Rpc.h)
Bibliothek Rpcrt4.lib
DLL Rpcrt4.dll

Weitere Informationen

RpcServerInterfaceGroupActivate

RpcServerInterfaceGroupClose

RpcServerInterfaceGroupCreate

RpcServerInterfaceGroupInqBindings