Função RpcServerInterfaceGroupDeactivate (rpcdce.h)

A função RpcServerInterfaceGroupDeactivate informa ao runtime do RPC para tentar fechar o grupo de interfaces especificado, anulando opcionalmente a operação se houver atividade de cliente pendente.

Sintaxe

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

Parâmetros

[in] IfGroup

Um RPC_INTERFACE_GROUP de RpcServerInterfaceGroupCreate que define o grupo de interfaces para desativar

[in] ForceDeactivation

Se TRUE, o runtime do RPC deverá ignorar a atividade do cliente e desativar incondicionalmente o grupo de interfaces. Se FALSE, a operação deverá ser anulada se uma nova atividade ocorrer.

Valor retornado

Valor Significado
RPC_S_OK
A chamada foi bem-sucedida.
RPC_S_SERVER_TOO_BUSY
ForceDeactivation é FALSE e há uma atividade de cliente pendente.
 
Nota Para obter uma lista de códigos de erro válidos, consulte RPC Return Values.
 

Comentários

RpcServerInterfaceGroupDeactivate é usado por aplicativos de servidor para cancelar o registro das interfaces e pontos de extremidade em um grupo de interfaces. Ele faz a maior parte do trabalho de desligamento que os aplicativos de servidor RPC precisam fazer. Ele executa as seguintes operações:

  • Cancela o registro dos pontos de extremidade e interfaces do mapeador do ponto de extremidade RPC.
  • Cancela o registro dos pontos de extremidade do runtime do servidor.
  • Cancela o registro das interfaces do runtime do servidor.
  • Informa ao runtime para parar de escutar chamadas se nenhuma outra interface estiver presente.

Se ForceDeactivation for FALSE, RpcServerInterfaceGroupDeactivate só desativará o grupo de interfaces se não houver nenhuma atividade de cliente pendente. Se a nova atividade chegar durante o processo de desativação, RPC_S_SERVER_TOO_BUSY será retornado. Nesse caso, a operação é revertida e o grupo de interfaces continuará a receber e expedir chamadas.

Se ForceDeactivation for TRUE, RpcServerInterfaceGroupDeactivate não falhará.

Os aplicativos de serviço podem chamar RpcServerInterfaceGroupDeactivate com ForceDeactivation definido como FALSE de sua função de retorno de chamada ociosa RpcServerInterfaceGroupCreate. Quando usado em conjunto com gatilhos de inicialização do serviço RPC, isso permite que eles parem com segurança sem chamadas ausentes de clientes potenciais.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 8 [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2012 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho rpcdce.h (inclua Rpc.h)
Biblioteca Rpcrt4.lib
DLL Rpcrt4.dll

Confira também

RpcServerInterfaceGroupActivate

RpcServerInterfaceGroupClose

RpcServerInterfaceGroupCreate

RpcServerInterfaceGroupInqBindings