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


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

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

Синтаксис

RPC_STATUS RpcBindingCreateA(
  [in]           RPC_BINDING_HANDLE_TEMPLATE_V1_A *Template,
  [in, optional] RPC_BINDING_HANDLE_SECURITY_V1_A *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