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


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

Функция RpcNsProfileEltInqBe gin создает контекст запроса для просмотра элементов в профиле.

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

Синтаксис

RPC_STATUS RpcNsProfileEltInqBeginW(
  unsigned long ProfileNameSyntax,
  RPC_WSTR      ProfileName,
  unsigned long InquiryType,
  RPC_IF_ID     *IfId,
  unsigned long VersOption,
  unsigned long MemberNameSyntax,
  RPC_WSTR      MemberName,
  RPC_NS_HANDLE *InquiryContext
);

Параметры

ProfileNameSyntax

Синтаксис ProfileName.

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

ProfileName

Указатель на имя профиля для просмотра.

InquiryType

Тип запроса для выполнения в профиле. В следующей таблице перечислены допустимые типы запросов.

Тип запроса Значение
RPC_C_PROFILE_DEFAULT_ELT
Выполняет поиск профиля для элемента профиля по умолчанию, если таковой есть. ПараметрыifId , VersOptionи MemberName игнорируются.
RPC_C_PROFILE_ALL_ELTS
Возвращает каждый элемент из профиля. ПараметрыifId , VersOptionи MemberName игнорируются.
RPC_C_PROFILE_MATCH_BY_IF
Выполняет поиск элементов, содержащих идентификацию интерфейса, указанного IfId и VersOption. Параметр MemberName игнорируется.
RPC_C_PROFILE_MATCH_BY_MBR
Выполняет поиск профилей элементов, содержащих MemberName. Параметры IfId иVersOption игнорируются.
RPC_C_PROFILE_MATCH_BY_BOTH
Выполняет поиск профиля элементов, содержащих идентификацию интерфейса и член, определя емыйifId, VersOptionи параметры MemberName.

IfId

Указатель на идентификацию интерфейса элементов профиля, возвращаемых функцией RpcNsProfileEltInqNext.

Параметр IfId используется только при указании значения RPC_C_PROFILE_MATCH_BY_IF или RPC_C_PROFILE_MATCH_BY_BOTH для параметра запроса . В противном случае IfId игнорируется, а значение NULL можно указать.

VersOption

Указывает, как функция RpcNsProfileEltInqNext использует параметр IfId. Этот параметр используется только при указании значения RPC_C_PROFILE_MATCH_BY_IF или RPC_C_PROFILE_MATCH_BY_BOTH для InquiryType. В противном случае этот параметр игнорируется, и можно указать значение 0.

В следующей таблице описаны допустимые значения для VersOption.

Ценность Значение
RPC_C_VERS_ALL
Возвращает элементы профиля, которые предлагают указанный идентификатор UUID интерфейса независимо от номеров версий. Для этого значения укажите значение 0 для основных и дополнительных версий в IfId.
RPC_C_VERS_COMPATIBLE
Возвращает элементы профиля, которые предлагают ту же основную версию указанного интерфейса UUID и дополнительную версию, превышающую или равной дополнительной версии указанного интерфейса UUID.
RPC_C_VERS_EXACT
Возвращает элементы профиля, которые предлагают указанную версию указанного интерфейса UUID.
RPC_C_VERS_MAJOR_ONLY
Возвращает элементы профиля, которые предлагают ту же основную версию указанного интерфейса UUID (игнорирует дополнительную версию). Для этого значения укажите значение 0 для дополнительной версии в IfId.
RPC_C_VERS_UPTO
Возвращает элементы профиля, которые предлагают версию указанного интерфейса UUID меньше указанной основной и дополнительной версии. (Например, если IfId содержит версии 2.0, а профиль содержит элементы с версиями 1.3, V2.0 и V2.1 , функция RpcNsProfileEltInqNext возвращает элементы с версиями 1.3 и V2.0.)

MemberNameSyntax

Синтаксис MemberNameи возвращаемый параметр MemberName в функции RpcNsProfileEltInqNex t.

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

MemberName

Указатель на имя члена, которое функция RpcNsProfileEltInqNext ищет в элементах профиля. Параметр memberName используется только при указании значения RPC_C_PROFILE_MATCH_BY_MBR или RPC_C_PROFILE_MATCH_BY_BOTH для ЗапросаType. В противном случае MemberName игнорируется, и можно указать значение NULL.

InquiryContext

Возвращает указатель на дескриптор службы имен для использования с функциями RpcNsProfileEltInqNex t и функции RpcNsProfileEltInqD one.

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

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

Замечания

Функция RpcNsProfileEltInqBe gin создает контекст запроса для просмотра элементов в профиле.

С помощью параметра InquiryType приложение указывает, какие из следующих элементов профиля необходимо возвращать из вызовов RpcNsProfileEltInqNext:

  • Элемент по умолчанию
  • Все элементы
  • Элементы с указанным идентификатором интерфейса
  • Элементы с указанным именем элемента
  • Элементы с указанным идентификатором интерфейса и именем члена
Перед вызовом RpcNsProfileEltInqNextприложение должно сначала вызвать RpcNsProfileEltInqBegin для создания контекста запроса.

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

примечание Windows 2000 Active Directory поддерживает эту функцию. Более ранние версии Windows NT поддерживают использование этой функции только со службой каталогов ячеек (CDS).
 

Заметка

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

Требования

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

См. также

RpcIfInqId

RpcNsProfileEltInqDone

RpcNsProfileEltInqNext