Функция RpcServerInterfaceGroupDeactivate (rpcdce.h)
Функция RpcServerInterfaceGroupDeactivate сообщает среде выполнения RPC, что нужно попытаться закрыть заданную группу интерфейсов, при необходимости прервав операцию при наличии незавершенной активности клиента.
Синтаксис
RPC_STATUS RpcServerInterfaceGroupDeactivate(
[in] RPC_INTERFACE_GROUP IfGroup,
[in] unsigned long ForceDeactivation
);
Параметры
[in] IfGroup
RPC_INTERFACE_GROUP из RpcServerInterfaceGroupCreate, определяющий группу интерфейсов для деактивации.
[in] ForceDeactivation
Если значение РАВНО TRUE, среда выполнения RPC должна игнорировать действия клиента и безоговорочно деактивировать группу интерфейсов. Если значение РАВНО FALSE, операция должна быть прервана, если выполняется новое действие.
Возвращаемое значение
Значение | Значение |
---|---|
|
Вызов выполнен успешно. |
|
ForceDeactivation имеет значение FALSE , а также имеется необработанные действия клиента. |
Комментарии
RpcServerInterfaceGroupDeactivate используется серверными приложениями для отмены регистрации интерфейсов и конечных точек в группе интерфейсов. Он выполняет основную часть работы по завершению работы, которую необходимо выполнить серверным приложениям RPC. Он выполняет следующие операции:
- Отменяет регистрацию конечных точек и интерфейсов в средстве сопоставления конечных точек RPC.
- Отменяет регистрацию конечных точек в среде выполнения сервера.
- Отменяет регистрацию интерфейсов в среде выполнения сервера.
- Указывает среде выполнения прекратить прослушивание вызовов, если другие интерфейсы отсутствуют.
Если forceDeactivation имеет значение FALSE, RpcServerInterfaceGroupDeactivate деактивирует группу интерфейсов, только если нет незавершенных действий клиента. Если во время деактивации поступает новое действие, возвращается RPC_S_SERVER_TOO_BUSY . В этом случае выполняется откат операции, и группа интерфейсов продолжит принимать и отправлять вызовы.
Если forceDeactivation имеет значение TRUE, RpcServerInterfaceGroupDeactivate не завершается ошибкой.
Приложения-службы могут вызывать RpcServerInterfaceGroupDeactivate с параметром ForceDeactivation , равным FALSE , из функции обратного вызова RpcServerInterfaceGroupCreate. При использовании в сочетании с триггерами запуска службы RPC это позволяет им безопасно останавливаться в простое, не пропуская вызовы от потенциальных клиентов.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 8 [только классические приложения] |
Минимальная версия сервера | Windows Server 2012 [только классические приложения] |
Целевая платформа | Windows |
Header | rpcdce.h (включая Rpc.h) |
Библиотека | Rpcrt4.lib |
DLL | Rpcrt4.dll |