Función RpcServerInterfaceGroupDeactivate (rpcdce.h)

La función RpcServerInterfaceGroupDeactivate indica al tiempo de ejecución de RPC que intente cerrar el grupo de interfaz determinado, anulando opcionalmente la operación si hay actividad de cliente pendiente.

Sintaxis

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

Parámetros

[in] IfGroup

Un RPC_INTERFACE_GROUP de RpcServerInterfaceGroupCreate que define el grupo de interfaz que se va a desactivar

[in] ForceDeactivation

Si es TRUE, el tiempo de ejecución rpc debe omitir la actividad del cliente e desactivar incondicionalmente el grupo de interfaz. Si es FALSE, se debe anular la operación si tiene lugar una nueva actividad.

Valor devuelto

Valor Significado
RPC_S_OK
La llamada se realizó correctamente.
RPC_S_SERVER_TOO_BUSY
ForceDeactivation es FALSE y hay una actividad de cliente pendiente.
 
Nota Para obtener una lista de códigos de error válidos, vea Rpc Return Values.
 

Comentarios

Las aplicaciones de servidor usan RpcServerInterfaceGroupDeactivate para anular el registro de las interfaces y los puntos de conexión de un grupo de interfaz. Realiza la mayor parte del trabajo de apagado que deben hacer las aplicaciones de servidor RPC. Realiza las siguientes operaciones:

  • Anula el registro de los puntos de conexión e interfaces del asignador de puntos de conexión RPC.
  • Anula el registro de los puntos de conexión del entorno de ejecución del servidor.
  • Anula el registro de las interfaces del entorno de ejecución del servidor.
  • Indica al tiempo de ejecución que deje de escuchar las llamadas si no hay ninguna otra interfaz presente.

Si ForceDeactivation es FALSE, RpcServerInterfaceGroupDeactivate solo desactivará el grupo de interfaz si no hay ninguna actividad de cliente pendiente. Si llega una nueva actividad durante el proceso de desactivación, se devuelve RPC_S_SERVER_TOO_BUSY . En este caso, la operación se revierte y el grupo de interfaz seguirá recibiendo y enviando llamadas.

Si ForceDeactivation es TRUE, RpcServerInterfaceGroupDeactivate no produce un error.

Las aplicaciones de servicio pueden llamar a RpcServerInterfaceGroupDeactivate con ForceDeactivation establecido en FALSE desde su función de devolución de llamada inactiva RpcServerInterfaceGroupCreate. Cuando se usa junto con los desencadenadores de inicio del servicio RPC, esto les permite detener de forma segura la detención sin que falten llamadas de clientes potenciales.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 8 [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2012 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado rpcdce.h (include Rpc.h)
Library Rpcrt4.lib
Archivo DLL Rpcrt4.dll

Consulte también

RpcServerInterfaceGroupActivate

RpcServerInterfaceGroupClose

RpcServerInterfaceGroupCreate

RpcServerInterfaceGroupInqBindings