KNOWN_FOLDER_FLAG列舉 (shlobj_core.h)

定義常數,指定 已知資料夾 的特殊擷取選項 (,例如,呼叫 SHGetKnownFolderIDList 函式以擷取已知資料夾的路徑) 時使用。 這些值會取代具有平行意義的 CSIDL 值。

Syntax

typedef enum {
  KF_FLAG_DEFAULT = 0x00000000,
  KF_FLAG_FORCE_APP_DATA_REDIRECTION = 0x00080000,
  KF_FLAG_RETURN_FILTER_REDIRECTION_TARGET = 0x00040000,
  KF_FLAG_FORCE_PACKAGE_REDIRECTION = 0x00020000,
  KF_FLAG_NO_PACKAGE_REDIRECTION = 0x00010000,
  KF_FLAG_FORCE_APPCONTAINER_REDIRECTION = 0x00020000,
  KF_FLAG_NO_APPCONTAINER_REDIRECTION = 0x00010000,
  KF_FLAG_CREATE = 0x00008000,
  KF_FLAG_DONT_VERIFY = 0x00004000,
  KF_FLAG_DONT_UNEXPAND = 0x00002000,
  KF_FLAG_NO_ALIAS = 0x00001000,
  KF_FLAG_INIT = 0x00000800,
  KF_FLAG_DEFAULT_PATH = 0x00000400,
  KF_FLAG_NOT_PARENT_RELATIVE = 0x00000200,
  KF_FLAG_SIMPLE_IDLIST = 0x00000100,
  KF_FLAG_ALIAS_ONLY = 0x80000000
} KNOWN_FOLDER_FLAG;

常數

 
KF_FLAG_DEFAULT
值: 0x00000000
指定沒有特殊擷取選項。
KF_FLAG_FORCE_APP_DATA_REDIRECTION
值: 0x00080000
Windows 10 1709 版中引進。 從封裝的應用程式呼叫時,指定 LocalAppData/RoamingAppData 資料夾會重新導向至符合 LocalFolderRoamingFolder 屬性中從 Windows.Storage.ApplicationData.Current 傳回的路徑的私人應用程式位置。 其他資料夾會重新導向至 LocalAppData的子目錄。

此旗標會與 FOLDERID_AppDataDesktopFOLDERID_AppDataDocumentsFOLDERID_AppDataFavoritesFOLDERID_AppDataProgramData搭配使用。 它也適用於與 .NET 應用程式的相容性,而不是直接從應用程式使用。
KF_FLAG_RETURN_FILTER_REDIRECTION_TARGET
值: 0x00040000
Windows 10 1703 版中引進。 在封裝進程中執行時,指定檔案系統會將某些檔案系統位置重新導向至檔案系統的特定套件位置。 此旗標會針對這些位置傳回方向的目標。 在文件系統內的實際位置需要知道的情況下,這非常有用。
KF_FLAG_FORCE_PACKAGE_REDIRECTION
值: 0x00020000
Windows 10 1703 版中引進。 在 AppContainer 行程內執行時,或提供 AppContainer 令牌時,指定某些資料夾會重新導向至套件內的 AppContainer 特定位置。 此旗標會強制重新導向 (,這些資料夾通常不會針對封裝程式而重新導向) ,而且可用於在相同套件內共用UWP與封裝應用程式之間的檔案。 此旗標會取代已被取代 KF_FLAG_FORCE_APPCONTAINER_REDIRECTION
KF_FLAG_NO_PACKAGE_REDIRECTION
值: 0x00010000
Windows 10 1703 版中引進。 在封裝進程內執行時,或提供封裝的進程令牌時,指定某些資料夾會重新導向至套件特定位置。 此旗標會停用套用位置的重新導向,並改為傳回傳回的路徑,因為它未在封裝進程內執行。 此旗標會取代已被取代 KF_FLAG_NO_APPCONTAINER_REDIRECTION
KF_FLAG_FORCE_APPCONTAINER_REDIRECTION
值: 0x00020000
在 Windows 8 中引進。 此旗標在 Windows 10 1703 版中已被取代。 請改用 KF_FLAG_FORCE_PACKAGE_REDIRECTION
KF_FLAG_NO_APPCONTAINER_REDIRECTION
值: 0x00010000
在 Windows 8 中引進。 此旗標在 Windows 10 1703 版中已被取代。 請改用 KF_FLAG_NO_PACKAGE_REDIRECTION
KF_FLAG_CREATE
值: 0x00008000
指定如果指定的資料夾不存在,則指定強制建立指定的資料夾。 套用該資料夾預先定義的安全性布建。 如果資料夾不存在且無法建立,則函式會傳回失敗碼,而且不會傳回路徑。 此值只能與下列函式和方法搭配使用:

* SHGetKnownFolderPath
* SHGetKnownFolderIDList
* IKnownFolder::GetIDList
* IKnownFolder::GetPath
* IKnownFolder::GetShellItem
KF_FLAG_DONT_VERIFY
值: 0x00004000
指定不要在嘗試擷取路徑或IDList之前驗證資料夾是否存在。 如果未設定此旗標,則會嘗試確認資料夾確實存在於路徑中。 如果該驗證因為資料夾不存在或無法存取而失敗,則函式會傳回失敗碼,而且不會傳回任何路徑。

如果資料夾位於網路上,則函式可能需要較長的時間才能執行。 因此,設定此旗標可以降低該延遲。
KF_FLAG_DONT_UNEXPAND
值: 0x00002000
不需要使用環境字串,即可將完整路徑儲存在登錄中。 如果未設定此旗標,則路徑的部分可能會以環境字串表示,例如 %USERPROFILE%。 此旗標只能與 SHSetKnownFolderPathIKnownFolder::SetPath 搭配使用。
KF_FLAG_NO_ALIAS
值: 0x00001000
指定擷取資料夾真正的系統路徑,不含SHGetKnownFolderIDListIKnownFolder::GetIDList 所傳回的任何別名佔位符%USERPROFILE%。 此旗標不會影響 SHGetKnownFolderPathIKnownFolder::GetPath所傳回的路徑。 根據預設,已知資料夾擷取函式和方法會在別名存在時傳回別名路徑。
KF_FLAG_INIT
值: 0x00000800
指定使用資料夾 Desktop.ini 的設定來初始化資料夾。 如果無法初始化資料夾,則函式會傳回失敗碼,而且不會傳回任何路徑。 此旗標應一律與 KF_FLAG_CREATE結合。

如果資料夾位於網路上,則函式可能需要較長的時間才能執行。
KF_FLAG_DEFAULT_PATH
值: 0x00000400
指定擷取已知資料夾的預設路徑。 如果未設定此旗標,則函式會擷取資料夾目前且可能重新導向的路徑。 除非 已設定KF_FLAG_DONT_VERIFY ,否則此旗標的執行包括驗證資料夾是否存在。
KF_FLAG_NOT_PARENT_RELATIVE
值: 0x00000200
指定擷取與父系目前位置無關的資料夾預設路徑。 也必須設定KF_FLAG_DEFAULT_PATH
KF_FLAG_SIMPLE_IDLIST
值: 0x00000100
指定建置簡單的IDList (PIDL) 。 當您想要擷取檔案系統路徑時,可以使用此值。 但是,如果您要擷取資料夾的當地語系化顯示名稱,則請勿指定此值,因為它可能無法正確解析。
KF_FLAG_ALIAS_ONLY
值: 0x80000000
在 Windows 7 中引進。 指定只擷取別名的PIN。 請勿使用檔案系統路徑。

備註

除了 KF_FLAG_ALIAS_ONLY之外,這些值在 Windows Vista 中定義為個別常數。 它們只會在 Windows 7 和更新版本中定義為列舉。 不過,所有基礎數值都以任一形式相同。

規格需求

需求
最低支援的用戶端 Windows 7 [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2008 R2 [僅限傳統型應用程式]
標頭 shlobj_core.h (包含 Shlobj.h)

另請參閱