共用方式為


DsBrowseForContainerA 函式 (dsclient.h)

DsBrowseForContainer 函式會顯示對話框,用來流覽 Active Directory 網域服務中的容器物件。

語法

int DsBrowseForContainerA(
  [in] PDSBROWSEINFOA pInfo
);

參數

[in] pInfo

DSBROWSEINFO 的指標 結構,其中包含初始化容器瀏覽器對話框的相關數據,並接收所選物件的相關數據。

傳回值

函式會傳回下列其中一個值。

言論

對話框會顯示容器選擇器,該選擇器會填入來自特定根目錄的容器,或使用受信任的網域。 如果它使用信任網域,則可以使用使用者目前登入的網域,也可以使用應用程式使用 pszRootDSBROWSEINFO 結構的成員所指定的替代網域。 如果使用者按兩下 [確定] 按鈕或按兩下物件 ,則會傳回idOKpszPath 包含所選物件的 ADsPath。 如果使用者取消對話框,DsBrowseForContainerIDCANCEL傳回 。

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 標頭會根據 UNICODE 預處理器常數的定義,將 DsBrowseForContainer 定義為自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的 慣例。

要求

要求 價值
最低支援的用戶端 Windows Vista
支援的最低伺服器 Windows Server 2008
目標平臺 窗戶
標頭 dsclient.h
連結庫 Dsuiext.lib
DLL Dsuiext.dll

另請參閱

BFFCallBack

DSBROWSEINFO