dsbrowseForContainerA 函数 (dsclient.h)

DsBrowseForContainer 函数显示一个对话框,用于浏览 Active Directory 域服务 中的容器对象。

语法

int DsBrowseForContainerA(
  [in] PDSBROWSEINFOA pInfo
);

参数

[in] pInfo

指向 DSBROWSEINFO 结构的指针,该结构包含有关初始化容器浏览器对话框的数据,并接收有关所选对象的数据。

返回值

函数返回以下值之一。

注解

该对话框显示一个容器选取器,该选取器由特定根中的容器填充,或者使用受信任的域。 如果它使用受信任的域,则可以使用用户当前登录的域,也可以使用应用程序使用 DSBROWSEINFO 结构的 pszRoot 成员指定的备用域。 如果用户单击 “确定 ”按钮或双击某个对象,则返回 IDOK ,并且 pszPath 包含所选对象的 ADsPath。 如果用户取消对话框, DsBrowseForContainer 将返回 IDCANCEL

pszRoot 成员包含 ADsPath,需要以下格式。

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

DsBrowseForContainer 使用此路径作为树的根。 pszRoot 成员还可用于指定与用户登录的域信任的域,以便用户可以浏览备用域的 Users 容器。 如果 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 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定

要求

要求
最低受支持的客户端 Windows Vista
最低受支持的服务器 Windows Server 2008
目标平台 Windows
标头 dsclient.h
Library Dsuiext.lib
DLL Dsuiext.dll

另请参阅

BFFCallBack

DSBROWSEINFO