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