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
程式庫 Dsuiext.lib
Dll Dsuiext.dll

另請參閱

BFFCallBack

DSBROWSEINFO