Функция RpcNsBindingImportBeginA (rpcnsi.h)
Функция RpcNsBindingImportBegin создает контекст импорта для импорта совместимых с клиентом дескрипторов привязки для серверов, которые предлагают указанный интерфейс и объект .
Синтаксис
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 имеет пустое значение указателя или nil UUID, возвращенные дескрипторы привязки содержат один из идентификаторов UUID объекта, экспортированных совместимым сервером. Если сервер не экспортировал идентификаторы UUID объекта, возвращенные совместимые дескрипторы привязки содержат UUID объекта nil.
ImportContext
Дескриптор службы имен, возвращенный для использования с функциями RpcNsBindingImportNext и RpcNsBindingImportDone .
Возвращаемое значение
Значение | Значение |
---|---|
|
Вызов выполнен успешно. |
|
Недопустимый синтаксис имени. |
|
Длина имени превышает максимальную. |
|
Синтаксис имени не поддерживается. |
|
Имя является неполным. |
|
Запись name-service не найдена. |
|
Служба имен недоступна. |
|
Недопустимый объект. |
Комментарии
Перед вызовом функции RpcNsBindingImportNext клиентское приложение должно сначала вызвать RpcNsBindingImportBegin для создания контекста импорта. Параметры этой функции управляют операцией функции RpcNsBindingImportNext .
После завершения импорта дескрипторов привязки клиентское приложение вызывает функцию RpcNsBindingImportDone для удаления контекста импорта.
Примечание
Заголовок rpcnsi.h определяет RpcNsBindingImportBegin как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора UNICODE. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.
Требования
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | rpcnsi.h (включая Rpc.h) |
Библиотека | Rpcns4.lib |
DLL | Rpcns4.dll |