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


Функция DsBrowseForContainerA (dsclient.h)

Функция dsBrowseForContainer отображает диалоговое окно, используемое для поиска объектов контейнеров в доменных службах Active Directory.

Синтаксис

int DsBrowseForContainerA(
  [in] PDSBROWSEINFOA pInfo
);

Параметры

[in] pInfo

Указатель на структуру DSBROWSEINFO , содержащую данные об инициализации диалогового окна браузера контейнеров и получает данные о выбранном объекте.

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

Функция возвращает одно из следующих значений.

Замечания

В диалоговом окне отображается средство выбора контейнеров, заполненное контейнерами из определенного корневого каталога или использующего доверенные домены. Если он использует доверенные домены, он может использовать либо домен, в который пользователь вошел в систему, либо использовать альтернативный домен, указанный приложением, с помощью pszRoot члена структуры DSBROWSEINFO. Если пользователь щелкает OK pushbutton или дважды щелкает объект, возвращается IDOK, а pszPath содержит ADsPath выбранного объекта. Если пользователь отменяет диалоговое окно, DsBrowseForContainer возвращает IDCANCEL.

Элемент pszRoot содержит ADsPath, который требует следующей формы.

LDAP://fabrikam.com/CN=Users,DC=Fabrikam,DC=com

DsBrowseForContainer использует этот путь в качестве корня дерева. Элемент pszRoot также можно использовать для указания домена, которому присвоено доверие с доменом, в который вошел пользователь, чтобы пользователь смог просмотреть контейнер пользователи альтернативного домена. Если элемент pszPath содержит путь, диалоговое окно будет переходить от pszRoot через контейнеры, пока не достигнет объекта, указанного pszPath.

Функция dsBrowseForContainer поддерживает функцию обратного вызова, указанную в структуре DSBROWSEINFO. Функцию обратного вызова можно использовать для фильтрации, изменения или изменения представления на основе изменения выбора и т. д. Дополнительные сведения см. в BFFCallBack.

Важные начиная с Windows Server 2003 версия этой функции ANSI (DsBrowseForContainerA) не реализована и всегда возвращает -1.
 

Примеры

В следующем примере кода выбирается контейнер в домене, в который вошел пользователь. В представлении также отображаются все доверенные домены.

void PickContainer(void)
{
    DSBROWSEINFOW dsbi = { 0 };
    WCHAR wszResult[MAX_PATH];
 
    dsbi.cbStruct = sizeof(dsbi);
    dsbi.pszCaption = L"The container picker";
    dsbi.pszTitle = L"Pick a container for this example.";
    dsbi.pszPath = wszResult;
    dsbi.cchPath = MAX_PATH;
    dsbi.dwFlags = DSBI_ENTIREDIRECTORY;

    int nReturn = DsBrowseForContainerW(&dsbi);
 
    if ( IDOK == nReturn )
    {
        // wszResult contains the resulting path
    }
}

Заметка

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

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows Vista
минимальный поддерживаемый сервер Windows Server 2008
целевая платформа Виндоус
заголовка dsclient.h
библиотеки Dsuiext.lib
DLL Dsuiext.dll

См. также

BFFCallBack

DSBROWSEINFO