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


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

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

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

Синтаксис

RPC_STATUS RpcNsBindingImportBeginW(
  unsigned long EntryNameSyntax,
  RPC_WSTR      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 имеет значение пустого указателя или UUID nil, возвращенные дескрипторы привязки содержат один из UUID объекта, экспортированных совместимым сервером. Если сервер не экспортировал идентификаторы UUID объекта, возвращенные совместимые дескрипторы привязки содержат UUID объекта nil.

ImportContext

Дескриптор name-service возвращается для использования с функциями 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
Запись name-service не найдена.
RPC_S_NAME_SERVICE_UNAVAILABLE
Служба имен недоступна.
RPC_S_INVALID_OBJECT
Недопустимый объект.
 
Примечание Список допустимых кодов ошибок см. в разделе Возвращаемые значения RPC.
 

Комментарии

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

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

Примечание

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

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header rpcnsi.h (включая Rpc.h)
Библиотека Rpcns4.lib
DLL Rpcns4.dll

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

RpcNsBindingImportDone

RpcNsBindingImportNext