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


Функция 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, этот дескриптор необходимо передать в RpcBindingBindd.

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

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

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

Замечания

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

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

Заметка

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

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows Vista [классические приложения | Приложения UWP]
минимальный поддерживаемый сервер Windows Server 2008 [классические приложения | Приложения UWP]
целевая платформа Виндоус
заголовка rpcdce.h (include Rpc.h)
библиотеки Rpcrt4.lib
DLL Rpcrt4.dll

См. также

RPC_BINDING_HANDLE

RpcBindingBindingBindd