Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Dialogové okno pro výběr objektu adresáře umožňuje uživateli vybrat jeden nebo více objektů z globálního katalogu, domény nebo počítače nebo pracovní skupiny. Typy objektů, ze kterých může uživatel vybrat, zahrnují uživatele, kontakt, skupinu a počítačové objekty. Další informace o službě Active Directory Domain Services naleznete v tématu služby Active Directory Domain Services.
Zobrazení dialogového okna pro výběr objektu:
- Volání funkce CoCreateInstance nebo CoCreateInstanceEx k vytvoření instance rozhraní IDsObjectPicker.
- Volání IDObjectPicker::Initialize metoda inicializace dialogového okna.
- Volání metody IDsObjectPicker::InvokeDialog metodu pro zobrazení dialogového okna.
- Volání metody IDataObject::GetData instance IDataObject vrácenou dialogovým oknem pro výběr objektu pro načtení dat CFSTR_DSOP_DS_SELECTION_LIST. Formát CFSTR_DSOP_DS_SELECTION_LIST schránky poskytuje HGLOBAL, který obsahuje strukturu DS_SELECTION_LIST. Struktura DS_SELECTION_LIST obsahuje data o položkách vybraných v dialogovém okně pro výběr objektu.
Pokud je identifikátor zabezpečení (SID) požadován pro objekt, měl by být požadován přímo z výběru objektu přidáním atributu objectSID do seznamu atributů, které se mají načíst pro vybraný objekt. Předání vráceného názvu objektu LsaLookupNames nebo LookupAccountName funkce se nedoporučuje, protože vyhledávání názvů bude redundantní a v některých případech může selhat.
Pokud se uloží odkaz na některé vybrané objekty, rozlišující název by se neměl uložit, protože se objekt může přesunout, přejmenovat nebo může změnit kvůli rozdílům v národním prostředí. U objektů zabezpečení by objectSID měly být požadovány pro objekt a bezpečně uloženy. Pokud je později potřeba název objektu zabezpečení, můžete ho načíst pomocí funkce LookupAccountSid. U všech ostatních objektů by se měl požadovat a uložit objectGUID.
Inicializace
Při inicializaci dialogového okna pro výběr objektu je zadána sada typů oborů a filtrů. Zadané typy oborů určují umístění, domény nebo počítače, ze kterých může uživatel vybírat objekty. Filtry určují typy objektů, které uživatel může vybrat z daného typu oboru. Další informace najdete v části Obory a filtry níže.
Ve výchozím nastavení může uživatel vybrat jeden objekt v dialogovém okně pro výběr objektu adresáře. Pokud chcete povolit více výběrů, nastavte příznak DSOP_FLAG_MULTISELECT v flOptions člen struktury DSOP_INIT_INFO při inicializaci dialogového okna.
Obory a filtry
Rozevírací seznam Look in obsahuje obory, ze kterých může uživatel vybírat objekty. Obor je doména, počítač, pracovní skupina nebo globální katalog, který ukládá data o a poskytuje přístup k sadě dostupných objektů. Položky v seznamu oborů závisí na typech oborů a cílovém počítači zadaném při IDDsObjectPicker::Initialize metoda byla naposledy volána k inicializaci dialogového okna pro výběr objektu.
Typ oboru je obecná kategorie oborů, například všechny domény v podniku, do kterých cílový počítač patří, nebo globální katalog pro podnik cílového počítače nebo cílový počítač samotný. Pro každý zadaný typ oboru používá dialogové okno kontext cílového počítače k určení položek seznamu oborů.
Metoda IDsObjectPicker::Initialize vezme ukazatel na DSOP_INIT_INFO strukturu, která obsahuje pole DSOP_SCOPE_INIT_INFO struktur. Každá položka v poli DSOP_SCOPE_INIT_INFO určuje jeden nebo více typů oborů a také příslušné filtry a další atributy. Filtry určují typy objektů, jako jsou uživatelé, skupiny, kontakty a počítače, které uživatel může vybrat z daného typu oboru. Když uživatel vybere obor ze seznamu, použije dialogové okno filtry pro daný typ oboru k zobrazení seznamu objektů, ze kterých může uživatel vybrat.
Každá DSOP_SCOPE_INIT_INFO struktura obsahuje DSOP_FILTER_FLAGS strukturu, která určuje filtry pro daný typ oboru. Struktura DSOP_FILTER_FLAGS rozlišuje obory vyšší a nižší úrovně:
- Obor vyšší úrovně je globální katalog nebo doména, která podporuje poskytovatele ADSI LDAP.
- Obor nižší úrovně zahrnuje pracovní skupiny a všechny jednotlivé počítače. Toto dialogové okno používá zprostředkovatele ADSI WinNT pro přístup k oboru nižší úrovně.
Ve struktuře DSOP_FILTER_FLAGS jsou definovány dvě sady příznaků filtru: jedna pro obory na vyšší úrovni a jedna pro obory nižší úrovně. člen struktury DSOP_FILTER_FLAGS je DSOP_UPLEVEL_FILTER_FLAGS struktura, která určuje filtry pro obory vyšší úrovně. flDownlevel člen struktury DSOP_FILTER_FLAGS je sada příznaků, které určují filtry pro obory nižší úrovně.