SFGAO

SFGAO bitfield 值代表可以在專案上擷取的屬性, (檔案或資料夾) 或一組專案。 它們會與 IShellFolder 和 IShellItem API 搭配使用,最值得注意的是 IShellFolder::GetAttributesOfIShellItem::GetAttributes

常數/值 Description
SFGAO_CANCOPY
0x00000001
可以複製指定的專案。
SFGAO_CANMOVE
0x00000002
可以移動指定的專案。
SFGAO_CANLINK
0x00000004
您可以為指定的專案建立快捷方式。 此屬性的值與 DROPEFFECT_LINK相同。
如果命名空間延伸模組傳回此屬性,則會將具有預設處理常式的建立 快捷方式 專案新增至拖放作業期間顯示的快捷方式功能表。 擴充功能也可以針對 連結 動詞命令實作自己的處理常式,以取代預設值。 如果擴充功能這樣做,則負責建立快捷方式。
[ 建立快捷方式 ] 專案也會新增至 [Windows 檔案總管 檔案 ] 功能表和一般快顯功能表。
如果選取專案,則會使用CMINVOKECOMMANDINFO結構設定為連結lpVerb成員叫用應用程式的ICoNtextMenu::InvokeCommand方法。 您的應用程式負責建立連結。
SFGAO_STORAGE
0x00000008
指定的專案可以透過IShellFolder::BindToObject系結至IStorage物件。 如需命名空間操作功能的詳細資訊,請參閱 IStorage
SFGAO_CANRENAME
0x00000010
可以重新命名指定的專案。 請注意,此值基本上是建議;並非所有命名空間用戶端都允許重新命名專案。 不過,這些必須設定此屬性。
SFGAO_CANDELETE
0x00000020
可以刪除指定的專案。
SFGAO_HASPROPSHEET
0x00000040
指定的專案具有屬性工作表。
SFGAO_DROPTARGET
0x00000100
指定的專案是置放目標。
SFGAO_CAPABILITYMASK
0x00000177
此旗標是功能屬性的遮罩:SFGAO_CANCOPY、SFGAO_CANMOVE、SFGAO_CANLINK、SFGAO_CANRENAME、SFGAO_CANDELETE、SFGAO_HASPROPSHEET和SFGAO_DROPTARGET。 呼叫端通常不會使用此值。
SFGAO_SYSTEM
0x00001000
Windows 7 和更新版本。 指定的專案是系統專案。
SFGAO_ENCRYPTED
0x00002000
指定的專案會經過加密,而且可能需要特殊呈現。
SFGAO_ISSLOW
0x00004000
透過 IStream 或其他儲存體介面存取專案 (,) 應該是緩慢的作業。 應用程式應該避免存取標幟為SFGAO_ISSLOW的專案。
注意: 開啟專案的資料流程通常都是緩慢的作業。 SFGAO_ISSLOW表示預期速度特別慢,例如,在網路連線緩慢或離線 (FILE_ATTRIBUTE_OFFLINE) 檔案的情況下。 不過,查詢SFGAO_ISSLOW本身是緩慢的作業。 應用程式應該只在背景執行緒上查詢SFGAO_ISSLOW。 替代方法,例如擷取 PKEY_FileAttributes 屬性和測試FILE_ATTRIBUTE_OFFLINE,可用來取代涉及SFGAO_ISSLOW的方法呼叫。
SFGAO_GHOSTED
0x00008000
指定的專案會顯示為暗灰色,使用者無法使用。
SFGAO_LINK
0x00010000
指定的專案是快捷方式。
SFGAO_SHARE
0x00020000
指定的物件會共用。
SFGAO_READONLY
0x00040000
指定的專案是唯讀的。 在資料夾的情況下,這表示無法在這些資料夾中建立新專案。 這不應該與SHCOLUMNDATA結構中IColumnProvider::GetItemData所擷取的FILE_ATTRIBUTE_READONLY旗標所指定的行為混淆。 FILE_ATTRIBUTE_READONLY對 Win32 檔系統資料夾沒有任何意義。
SFGAO_HIDDEN
0x00080000
專案是隱藏的,除非 [資料夾設定] 中已啟用 [顯示隱藏的檔案和資料夾] 選項,否則不應該顯示該專案。
SFGAO_DISPLAYATTRMASK
0x000FC000
請勿使用。
SFGAO_NONENUMERATED
0x00100000
這些專案是無編號的專案,而且應該隱藏。 它們不會透過列舉值傳回,例如 IShellFolder::EnumObjects 方法所建立的列舉值。
SFGAO_NEWCONTENT
0x00200000
專案包含新的內容,如特定應用程式所定義。
SFGAO_CANMONIKER
不支援。
SFGAO_HASSTORAGE
不支援。
SFGAO_STREAM
0x00400000
表示專案具有與其相關聯的資料流程。 該資料流程可以透過呼叫 IShellFolder::BindToObjectIShellItem::BindToHandler 來存取,並在 riid 參數中使用 IID_IStream。
SFGAO_STORAGEANCESTOR
0x00800000
此專案的子系可透過 IStreamIStorage存取。 這些子系會標示為SFGAO_STORAGE或SFGAO_STREAM。
SFGAO_VALIDATE
0x01000000
當指定為輸入時,SFGAO_VALIDATE會指示資料夾驗證資料夾或 Shell 專案陣列中包含的專案是否存在。 如果其中一或多個專案不存在, IShellFolder::GetAttributesOfIShellItemArray::GetAttributes 會傳回失敗碼。 這個旗標永遠不會傳回為 [out] 值。
搭配檔系統資料夾使用時,SFGAO_VALIDATE會指示資料夾捨棄 IShellFolder2::GetDetailsEx 用戶端所擷取的快取屬性,這些屬性可能已累積給指定的專案。
SFGAO_REMOVABLE
0x02000000
指定的專案位於抽取式媒體上,或本身為可移動裝置。
SFGAO_COMPRESSED
0x04000000
指定的專案會壓縮。
SFGAO_BROWSABLE
0x08000000
指定的專案可以裝載于網頁瀏覽器或 Windows 檔案總管框架內。
SFGAO_FILESYSANCESTOR
0x10000000
指定的資料夾是檔系統資料夾,或至少包含一個子系 (子系、子系或更新版本) ,也就是檔案系統 (SFGAO_FILESYSTEM) 資料夾。
SFGAO_FOLDER
0x20000000
指定的專案是資料夾。 某些專案可以標示SFGAO_STREAM和SFGAO_FOLDER,例如副檔名為 .zip 的壓縮檔。 某些應用程式可能會在測試檔案和容器的專案時包含此旗標。
SFGAO_FILESYSTEM
0x40000000
指定的資料夾或檔案是檔案系統 (的一部分,也就是檔案、目錄或根目錄) 。 您可以假設專案的剖析名稱是有效的 Win32 檔案系統路徑。 這些路徑可以是 UNC 或磁碟機號型。
SFGAO_STORAGECAPMASK
0x70C50008
此旗標是儲存體功能屬性的遮罩:SFGAO_STORAGE、SFGAO_LINK、SFGAO_READONLY、SFGAO_STREAM、SFGAO_STORAGEANCESTOR、SFGAO_FILESYSANCESTOR、SFGAO_FOLDER和SFGAO_FILESYSTEM。 呼叫端通常不會使用此值。
SFGAO_HASSUBFOLDER
0x80000000
指定的資料夾有子資料夾。 SFGAO_HASSUBFOLDER屬性只是諮詢屬性,即使殼層資料夾實作不包含子資料夾,也可能傳回。 不過,請注意,相反地,無法傳回SFGAO_HASSUBFOLDER,明確指出資料夾物件沒有子資料夾。
每當需要大量時間來判斷是否有任何子資料夾存在時,建議傳回SFGAO_HASSUBFOLDER。 例如,當資料夾位於網路磁碟機機時,Shell 一律會傳回SFGAO_HASSUBFOLDER。
SFGAO_CONTENTSMASK
0x80000000
此旗標是內容屬性的遮罩,目前僅SFGAO_HASSUBFOLDER。 呼叫端通常不會使用此值。
SFGAO_PKEYSFGAOMASK
0x81044000
PKEY_SFGAOFlags屬性所使用的遮罩,以判斷被視為造成計算緩慢或缺少內容的屬性:SFGAO_ISSLOW、SFGAO_READONLY、SFGAO_HASSUBFOLDER和SFGAO_VALIDATE。 呼叫端通常不會使用此值。

規格需求

需求
最低支援的用戶端
Windows Vista [僅限傳統型應用程式]
最低支援的伺服器
Windows Server 2008 [僅限傳統型應用程式]
標頭
Shobjidl.h
Idl
Shobjidl.idl

另請參閱

IShellFolder::GetAttributesOf

IShellFolder::P arseDisplayName

IShellItem::GetAttributes

IShellItemArray::GetAttributes