Функция RpcServerUnregisterIfEx (rpcdce.h)
Функция RpcServerUnregisterIfEx удаляет интерфейс из реестра библиотек времени выполнения RPC. Эта функция расширяет функциональные возможности функции RpcServerUnregisterIf .
Синтаксис
RPC_STATUS RpcServerUnregisterIfEx(
[in] RPC_IF_HANDLE IfSpec,
[in] UUID *MgrTypeUuid,
[in] int RundownContextHandles
);
Параметры
[in] IfSpec
Интерфейс для удаления из реестра.
Укажите значение NULL, чтобы удалить все интерфейсы, ранее зарегистрированные со значением типа UUID, указанным в параметре MgrTypeUuid .
[in] MgrTypeUuid
Указатель на тип UUID вектора точки входа (EPV) диспетчера, удаляемого из реестра. Значение MgrTypeUuid должно совпадать с значением, указанным при вызове функции RpcServerRegisterIf , RpcServerRegisterIf2 или RpcServerRegisterIfEx .
Укажите значение NULL, чтобы удалить интерфейс, указанный в параметре IfSpec , для всех ранее зарегистрированных типов UUID из реестра.
Укажите UUID(nil) для удаления из реестра созданного по умолчанию диспетчера MIDL EPV. В этом случае все EPV диспетчера, зарегистрированные с типом UUID, не равного нулю, остаются зарегистрированными.
[in] RundownContextHandles
Указывает, вызывается ли выполнение для активных дескрипторов контекста. Если значение не равно нулю, после завершения всех вызовов в интерфейсе вызывается очистка. Если задано нулевое значение, то во время выполнения RPC предполагается, что сервер уже уничтожил свою часть дескриптора контекста и не будет вызывать подпрограммы запуска.
Возвращаемое значение
Возвращает состояние RPC. RpcServerUnregisterIfEx не завершается ошибкой, если не предоставлены недопустимые значения.
Комментарии
Функция RpcServerUnregisterIfEx ожидает завершения всех вызовов в заданном интерфейсе, прежде чем отменять регистрацию дескрипторов контекста.
Функция RpcServerUnregisterIfEx предоставляет все функции, предоставляемые функцией RpcServerUnregisterIf . Кроме того, функция RpcServerUnregisterIfEx отменяет регистрацию всех дескрипторов контекста, зарегистрированных заданным интерфейсом. Интерфейс должен использовать атрибут strict_context_handle , в противном случае результаты не определены.
RpcServerUnregisterIfEx — это единственная функция, которая обеспечивает безопасную выгрузку библиотеки DLL с активными дескрипторами контекста за пределами завершения процесса. Он доступен только в Windows XP и более поздних версиях Windows.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | rpcdce.h (включая Rpc.h) |
Библиотека | Rpcrt4.lib |
DLL | Rpcrt4.dll |