Поделиться через


Функция RpcEpResolveBinding (rpcdce.h)

Функция RpcEpResolveBinding разрешает частично привязанный дескриптор привязки сервера в полностью привязанный дескриптор привязки сервера.

Синтаксис

RPC_STATUS RpcEpResolveBinding(
  RPC_BINDING_HANDLE Binding,
  RPC_IF_HANDLE      IfSpec
);

Параметры

Binding

Частично привязанный дескриптор привязки сервера для разрешения в полностью привязанный дескриптор привязки сервера.

IfSpec

Структура, созданная заглушками, задающая интересующий интерфейс.

Возвращаемое значение

Значение Значение
RPC_S_OK
Вызов выполнен успешно.
RPC_S_INVALID_BINDING
Недопустимый дескриптор привязки.
RPC_S_WRONG_KIND_OF_BINDING
Это была неправильная привязка для операции.
 
Примечание Список допустимых кодов ошибок см. в разделе Возвращаемые значения RPC.
 

Комментарии

Приложение вызывает функцию RpcEpResolveBinding для разрешения частично привязанного дескриптора привязки сервера в полностью привязанный дескриптор привязки.

Для разрешения дескрипторов привязки требуется UUID интерфейса и UUID объекта (который может иметь значение nil). Библиотека времени выполнения RPC запрашивает службу сопоставления конечных точек на узле, указанном параметром Binding , чтобы найти конечную точку для совместимого экземпляра сервера. Чтобы найти конечную точку, служба сопоставления конечных точек ищет в базе данных сопоставления конечных точек UUID интерфейса в параметре IfSpec и объект UUID в параметре Binding , если таковой имеется.

Принцип работы операции разрешения привязки зависит от того, частично или полностью привязан указанный дескриптор привязки. Если клиент указывает дескриптор с частичной привязкой, операция разрешения привязки имеет следующие возможные результаты:

  • Если в базе данных сопоставления конечных точек не зарегистрированы совместимые экземпляры сервера, операция разрешения привязки возвращает код состояния EPT_S_NOT_REGISTERED.
  • Если совместимый экземпляр сервера зарегистрирован в базе данных сопоставления конечных точек, операция разрешения привязки возвращает полностью привязанную привязку и код состояния RPC_S_OK.
Когда клиент задает полностью привязанный дескриптор привязки, операция разрешения привязки возвращает указанный дескриптор привязки и код состояния RPC_S_OK. Операция разрешения привязки не обращается к службе сопоставления конечных точек.

Ни в случае частичной привязки, ни в случае полной привязки операция разрешения привязки не связывается с совместимым экземпляром сервера.

Примечание Вызов RpcEpResolveBinding не является строго обязательным. Если вызов RPC выполняется на частично привязанном дескрипторе привязки сервера, во время выполнения RPC выполняются необходимые действия, чтобы сделать привязку полностью привязанной. Время выполнения RPC вызывает RpcEpResolveBinding, но делает это более эффективно благодаря дополнительным методам кэширования. В Windows XP и Windows 2000 приложения не имеют причин вызывать RpcEpResolveBinding.
 

Требования

   
Минимальная версия клиента Windows 2000 Профессиональная [классические приложения | Приложения UWP]
Минимальная версия сервера Windows 2000 Server [классические приложения | Приложения UWP]
Целевая платформа Windows
Header rpcdce.h (включая Rpc.h)
Библиотека Rpcrt4.lib
DLL Rpcrt4.dll

См. также раздел

RpcBindingFromStringBinding

RpcBindingReset

RpcEpRegister

RpcEpRegisterNoReplace

RpcNsBindingImportBegin

RpcNsBindingImportDone

RpcNsBindingImportNext