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


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

Функция RpcBindingCreate создает новый быстрый дескриптор привязки RPC на основе предоставленного шаблона.

Синтаксис

RPC_STATUS RpcBindingCreateW(
  [in]           RPC_BINDING_HANDLE_TEMPLATE_V1_W *Template,
  [in, optional] RPC_BINDING_HANDLE_SECURITY_V1_W *Security,
  [in, optional] RPC_BINDING_HANDLE_OPTIONS_V1    *Options,
  [out]          RPC_BINDING_HANDLE               *Binding
);

Параметры

[in] Template

RPC_BINDING_HANDLE_TEMPLATE структура, описывающая дескриптор привязки, создаваемый этим вызовом. Эти данные могут быть перезаписаны во время вызова, поэтому API не сохраняет ссылку на эти данные. При возврате API вызывающий объект должен освободить память, используемую этой структурой.

[in, optional] Security

RPC_BINDING_HANDLE_SECURITY структуру, описывающую параметры безопасности для этого дескриптора привязки. Эти данные могут быть перезаписаны во время вызова, поэтому API не сохраняет ссылку на эти данные. При возврате API вызывающий объект должен освободить память, используемую этой структурой.

Этот параметр является необязательным. Если для этого параметра задано значение NULL, будут использоваться параметры безопасности по умолчанию для RPC_BINDING_HANDLE_SECURITY .

[in, optional] Options

RPC_BINDING_HANDLE_OPTIONS структуру, описывающую дополнительные параметры дескриптора привязки. Эти данные могут быть перезаписаны во время вызова, поэтому API не сохраняет ссылку на эти данные. При возврате API вызывающий объект должен освободить память, используемую этой структурой.

Этот параметр является необязательным. Если для этого параметра задано значение NULL, будут использоваться параметры по умолчанию для RPC_BINDING_HANDLE_OPTIONS .

[out] Binding

RPC_BINDING_HANDLE структуры, содержащей только что созданный дескриптор привязки. Если эта функция не возвращала RPC_S_OK, содержимое этой структуры не определено. Для вызовов RPC, не являющихся локальными, этот дескриптор необходимо передать в RpcBindingBind.

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

Эта функция возвращает RPC_S_OK об успешном выполнении; в противном случае возвращается код ошибки RPC_S_*. Сведения об этих кодах ошибок см. в разделе Возвращаемые значения RPC.

Код возврата Описание
RPC_S_OK
Дескриптор привязки успешно создан.
RPC_S_CANNOT_SUPPORT
Для этого дескриптора привязки запрошена устаревшая функция RPC.
Примечание Единственные поддерживаемые последовательности протоколов для этого API — ncalrpc; Выбор другой последовательности протокола приводит к возврату этого кода состояния ошибки.
 
 
Примечание Список допустимых кодов ошибок см. в разделе Возвращаемые значения RPC.
 

Комментарии

Дескриптор привязки RPC, возвращаемый этим API, можно использовать с любыми другими функциями, которые принимают дескриптор привязки в качестве параметра.

Однако перед выполнением каких-либо вызовов в дескрипторов привязки необходимо вызвать RpcBindingBindd, чтобы сделать дескриптор привязки доступным для удаленных вызовов. API RpcBindingCreate не касается сети и не пытается взаимодействовать с RPC-сервером, а просто создает внутреннюю структуру данных на основе значений, указанных в шаблоне. Успешное возвращение не означает, что RPC-сервер доступен, доступен или правильно указан.

Примечание

Заголовок rpcdce.h определяет RpcBindingCreate как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Использование псевдонима, не зависящий от кодирования, с кодом, который не является нейтральным для кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или времени выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

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

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

RPC_BINDING_HANDLE

RpcBindingBindd