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.
Systém Windows Vista zavádí nové scénáře úložiště a nový obor názvů profilů uživatelů. Aby bylo možné zohlednit tyto nové faktory, byl nahrazen starší systém označování standardních složek pomocí hodnoty CSIDL. V systému Windows Vista se na tyto složky odkazuje nová sada hodnot GUID s názvem Známé ID složek.
Systém Známých složek nabízí tyto výhody:
- Nezávislí výrobci softwaru (ISV) mohou rozšířit sadu identifikátorů známých složek o vlastní ID. Můžou definovat složky, dát jim ID a zaregistrovat je v systému. Hodnoty CSIDL nelze rozšířit.
- Všechny známé složky v systému lze vypsat. Žádné rozhraní API neposkytuje tuto funkci pro hodnoty CSIDL. Další informace najdete v IKnownFolderManager::GetFolderIds.
- Známá složka přidaná isV může přidat vlastní vlastnosti, které jí umožňují vysvětlit účel a zamýšlené použití.
- Mnoho známých složek je možné přesměrovat na nová umístění, včetně síťových umístění. V systému CSIDL lze přesměrovat pouze složku Dokumenty.
- Známé složky můžou mít vlastní obslužné rutiny pro použití při vytváření nebo odstraňování.
Systém CSIDL a rozhraní API, které využívají hodnoty CSIDL, jsou stále podporovány kvůli kompatibilitě. Nedoporučuje se je však používat v žádném novém vývoji.
Important
Pro nový kód vždy používejte SHGetKnownFolderPath s konstantami KNOWNFOLDERID . Starší hodnoty SHGetFolderPath a CSIDL jsou zastaralé a neměly by se používat v nových aplikacích.
Při volání SHGetKnownFolderPath:
- Před použitím této funkce je nutné volat CoInitializeEx (com musí být inicializován ve volajícím vlákně).
- Vrácený řetězec musíte uvolnit pomocí CoTaskMemFree po dokončení. Pokud to neuděláte, dojde k úniku paměti.
- Pro aplikace .NET použijte Environment.GetFolderPath nebo Windows.Storage.KnownFolders (WinRT) místo přímého volání funkcí shellu pomocí P/Invoke.
Následující témata pojednávají o podrobnostech systému Známé složky.
Následující referenční stránky vysvětlují funkce Známých složek Win32, které lze použít k načtení umístění známých složek nebo je přesměrovat na nové umístění. Tyto funkce nahrazují starší funkce Win32. Nové funkce jsou poskytovány tak, aby poskytovaly ekvivalentní chování starým funkcím, ale každá nová funkce je také duplikována rozhraním API modelu COM (Component Object Model).
| Nová funkce | Nahrazuje | Ekvivalent modelu COM |
|---|---|---|
| SHGetKnownFolderPath | SHGetFolderPath | IKnownFolder::GetPath |
| SHGetKnownFolderIDList | SHGetFolderLocation | IKnownFolder::GetIDList |
| SHSetKnownFolderPath | SHSetFolderPath | IKnownFolder::SetPath |
Následující referenční stránky vysvětlují rozhraní API známých složek modelu COM, která poskytují všechny funkce rozhraní API Win32 uvedené výše a navíc umožňují vytvořit výčet všech známých složek, přistupovat k vlastnostem známých složek a rozšířit standardní sadu známých složek.
Ukázka jazyka C++, která demonstruje rozhraní API známých složek, je součástí sady Windows Software Development Kit (SDK). Po instalaci sady Windows SDK do počítače najdete ukázku v části %ProgramFiles%\Microsoft SDK\Windows\v6.0\Samples\WinUI\Shell\AppPlatform\KnownFolders.