Condividi tramite


Funzione RpcServerInterfaceGroupDeactivate (rpcdce.h)

La funzione RpcServerInterfaceGroupDeactivate indica al runtime RPC di tentare di chiudere il gruppo di interfacce specificato, facoltativamente interrompendo l'operazione se esiste un'attività client in sospeso.

Sintassi

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

Parametri

[in] IfGroup

Un RPC_INTERFACE_GROUP da RpcServerInterfaceGroupCreate che definisce il gruppo di interfacce da disattivare

[in] ForceDeactivation

Se TRUE, il runtime RPC deve ignorare l'attività client e disattivare in modo incondizionato il gruppo di interfacce. Se FALSE, l'operazione deve essere interrotta se si verifica una nuova attività.

Valore restituito

Valore Significato
RPC_S_OK
La chiamata ha avuto esito positivo.
RPC_S_SERVER_TOO_BUSY
ForceDeactivation è FALSE ed è presente un'attività client in sospeso.
 
Nota Per un elenco di codici di errore validi, vedere Valori restituiti RPC.
 

Commenti

RpcServerInterfaceGroupDeactivate viene usato dalle applicazioni server per annullare la registrazione delle interfacce e degli endpoint in un gruppo di interfacce. Esegue la maggior parte del lavoro di arresto che le applicazioni server RPC devono eseguire. Esegue le operazioni seguenti:

  • Annulla la registrazione degli endpoint e delle interfacce dall'endpoint RPC.
  • Annullare la registrazione degli endpoint dal runtime del server.
  • Annulla la registrazione delle interfacce dal runtime del server.
  • Indica al runtime di interrompere l'ascolto delle chiamate se non sono presenti altre interfacce.

Se ForceDeactivation è FALSE, RpcServerInterfaceGroupDeactivate disattiva solo il gruppo di interfacce se non è presente alcuna attività client in sospeso. Se viene restituita una nuova attività durante il processo di disattivazione, viene restituita RPC_S_SERVER_TOO_BUSY . In questo caso, l'operazione viene eseguito il rollback e il gruppo di interfacce continuerà a ricevere e inviare chiamate.

Se ForceDeactivation è TRUE, RpcServerInterfaceGroupDeactivate non riesce.

Le applicazioni di servizio possono chiamare RpcServerInterfaceGroupDeactivate con ForceDeactivation impostata su FALSE dalla funzione di callback inattiva RpcServerInterfaceGroupCreate. Se usato in combinazione con i trigger di avvio del servizio RPC, ciò consente loro di arrestare in modo sicuro senza chiamate mancanti da potenziali client.

Requisiti

Requisito Valore
Client minimo supportato Windows 8 [solo app desktop]
Server minimo supportato Windows Server 2012 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione rpcdce.h (include Rpc.h)
Libreria Rpcrt4.lib
DLL Rpcrt4.dll

Vedi anche

RpcServerInterfaceGroupActivate

RpcServerInterfaceGroupClose

RpcServerInterfaceGroupCreate

RpcServerInterfaceGroupInqBindings