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


Функция RpcNsBindingImportBeginA (rpcnsi.h)

Функция RpcNsBindingImportBegin создает контекст импорта для импорта дескрипторов привязки, совместимых с клиентом, для серверов, которые предлагают указанный интерфейс и объект.

Примечание Эта функция не поддерживается в windows Vista и более поздних операционных системах.
 

Синтаксис

RPC_STATUS RpcNsBindingImportBeginA(
  unsigned long EntryNameSyntax,
  RPC_CSTR      EntryName,
  RPC_IF_HANDLE IfSpec,
  UUID          *ObjUuid,
  RPC_NS_HANDLE *ImportContext
);

Параметры

EntryNameSyntax

Синтаксис EntryName.

Чтобы использовать синтаксис, указанный в записи значения реестра HKEY_LOCAL_MACHINE\Software\Microsoft\Rpc\NameService\DefaultSyntax, укажите RPC_C_NS_SYNTAX_DEFAULT.

EntryName

Указатель на имя записи, с которого начинается поиск совместимых дескрипторов привязки.

Чтобы использовать имя записи, указанное в записи значения реестра HKEY_LOCAL_MACHINE\Software\Microsoft\Rpc\NameService\DefaultEntry, укажите пустой указатель или пустую строку. В этом случае параметр EntryNameSyntax игнорируется, а библиотека времени выполнения использует синтаксис по умолчанию.

IfSpec

Структура данных, созданная заглушками, указывающая интерфейс для импорта. Если спецификация интерфейса не экспортирована или не связана с вызывающим оператором, укажите значение NULL для этого параметра. В этом случае возвращаемые привязки гарантированно будут совместимыми и поддерживаемыми последовательностью протоколов и содержать указанный объект UUID. Контактный сервер может не поддерживать нужный интерфейс.

ObjUuid

Указатель на необязательный объект UUID.

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

Если objUuid имеет значение null или nil UUID, возвращенные дескрипторы привязки содержат один из объектов UUID, экспортируемых совместимым сервером. Если сервер не экспортировал пользовательские идентификаторы объектов, возвращенные совместимые дескрипторы привязки содержат Nil-объект UUID.

ImportContext

Дескриптор службы имен, возвращенный для использования с функциям и RpcNsBindingImportNext и RpcNsBindingImportDone.

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

Ценность Значение
RPC_S_OK
Вызов выполнен успешно.
RPC_S_INVALID_NAME_SYNTAX
Недопустимый синтаксис имени.
RPC_S_NAME_SERVICE_UNAVAILABLE
Имя превышает максимальную длину.
RPC_S_UNSUPPORTED_NAME_SYNTAX
Синтаксис имени не поддерживается.
RPC_S_INCOMPLETE_NAME
Имя является неполным.
RPC_S_ENTRY_NOT_FOUND
Запись службы имен не найдена.
RPC_S_NAME_SERVICE_UNAVAILABLE
Служба имен недоступна.
RPC_S_INVALID_OBJECT
Недопустимый объект.
 
Примечание Список допустимых кодов ошибок см. в разделе возвращаемых значений RPC.
 

Замечания

Перед вызовом функции RpcNsBindingImportNext клиентское приложение должно сначала вызвать RpcNsBindingImportBegin для создания контекста импорта. Параметры этой функции управляют операцией функции RpcNsBindingImportNext.

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

Заметка

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

Требования

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

См. также

RpcNsBindingImportDone

RpcNsBindingImportNext