Функция RpcNsBindingLookupBeginW (rpcnsi.h)
Функция RpcNsBindingLookupBegin создает контекст подстановки для интерфейса и объекта.
Синтаксис
RPC_STATUS RpcNsBindingLookupBeginW(
unsigned long EntryNameSyntax,
RPC_WSTR EntryName,
RPC_IF_HANDLE IfSpec,
UUID *ObjUuid,
unsigned long BindingMaxCount,
RPC_NS_HANDLE *LookupContext
);
Параметры
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.
Для значения указателя null или nil UUID для этого параметра возвращенные дескрипторы привязки содержат один из объектов UUID, экспортированных совместимым сервером. Если сервер не экспортировал пользовательские идентификаторы объектов, возвращенные совместимые дескрипторы привязки содержат Nil-объект UUID.
BindingMaxCount
Максимальное количество привязок, возвращаемых в параметре BindingVec
Укажите значение нуля, чтобы использовать количество RPC_C_BINDING_MAX_COUNT_DEFAULT по умолчанию.
LookupContext
Возвращает указатель на дескриптор службы имен для использования с функциями RpcNsBindingLookupNext и функции RpcNsBindingLookupD one.
Возвращаемое значение
Ценность | Значение |
---|---|
|
Вызов выполнен успешно. |
|
Недопустимый синтаксис имени. |
|
Синтаксис имени не поддерживается. |
|
Имя является неполным. |
|
Запись службы имен не найдена. |
|
Служба имен недоступна. |
|
Недопустимый объект. |
Замечания
Функция RpcNsBindingLookupBegin создает контекст подстановки для поиска дескрипторов привязки, совместимых с клиентом, на серверах, предлагающих указанный интерфейс и объект.
Перед вызовом RpcNsBindingLookupNextклиентское приложение должно сначала вызвать RpcNsBindingLookupBegin для создания контекста подстановки. Параметры этой функции управляют операцией функции RpcNsBindingLookupNext.
В действии с Windows 2000 среда RPC использует Active Directory в качестве базы данных службы имен и порядок выполнения, в котором среда выполнения выполняет поиск следующим образом:
- Выполните поиск в локальном кэше.
- Если запись не найдена в локальном кэше, выполните поиск в Active Directory этого компьютера.
- Если запись не найдена на локальном компьютере, отправьте широковещательные запросы ко всем другим службам Active Directory в домене.
Обратите внимание, что если запись существует в Active Directory, но нет сведений, связанных с записью, среда выполнения не будет выдавать этот широковещательный запрос.
Заметка
Заголовок rpcnsi.h определяет RpcNsBindingLookupBegin как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows 2000 Профессиональный [только классические приложения] |
минимальный поддерживаемый сервер | Windows 2000 Server [только классические приложения] |
целевая платформа | Виндоус |
заголовка | rpcnsi.h (include Rpc.h) |
библиотеки |
Rpcns4.lib |
DLL | Rpcns4.dll |