共用方式為


已知資料夾

Windows Vista 引進了新的記憶體案例和新的使用者配置檔命名空間。 為了解決這些新因素,已取代以 CSIDL 值參照標準資料夾的較舊系統。 從 Windows Vista 起,這些資料夾是由一組稱為已知資料夾識別元的新 GUID 值所參考。

已知資料夾系統提供下列優點:

  • 獨立軟體供應商 (ISV) 可以使用自己的一組已知資料夾標識碼來擴充。 他們可以定義資料夾、提供識別碼,並將其註冊到系統。 無法擴充 CSIDL 值。
  • 可以列舉系統上的所有已知資料夾。 沒有 API 針對 CSIDL 值提供此功能。 如需詳細資訊,請參閱 IKnownFolderManager::GetFolderIds
  • ISV 新增的已知資料夾可以新增自訂屬性,以允許它解釋其用途和用途。
  • 許多已知資料夾都可以重新導向至新的位置,包括網路位置。 在 CSIDL 系統下,只能重新導向 [我的文件] 資料夾
  • 已知資料夾可以有自定義處理程式,可在建立或刪除期間使用。

仍然支援使用 CSIDL 值的 CSIDL 系統和 API,以取得相容性。 不過,不建議在任何新的開發中使用它們。

下列主題討論已知資料夾系統的詳細資料。

下列參考頁面說明 Win32 已知資料夾函式,可用來擷取已知資料夾的位置,或將它們重新導向至新位置。 這些函式會取代舊的 Win32 函式。 系統會提供新的函式來提供對等行為給舊函式,但每個新函式也會由元件物件模型 (COM) API 複製。

新增函式 取代 COM 對等專案
SHGetKnownFolderPath SHGetFolderPath IKnownFolder::GetPath
SHGetKnownFolderIDList SHGetFolderLocation IKnownFolder::GetIDList
SHSetKnownFolderPath SHSetFolderPath IKnownFolder::SetPath

 

下列參考頁面說明 COM 已知資料夾 API,其提供上述 Win32 API 的所有功能,以及新增列舉所有已知資料夾、存取已知資料夾屬性,以及擴充已知資料夾的標準集合的能力。

示範已知資料夾 API 的C++範例包含在 Windows 軟體開發工具套件 (SDK) 中。 在計算機上安裝 Windows SDK 之後,您可以在 \%ProgramFiles%\Microsoft SDK\Windows\v6.0\Samples\WinUI\Shell\AppPlatform\KnownFolders 下找到此範例。

已知資料夾範例