DEFCONTEXTMENU 結構 (shlobj_core.h)
包含 SHCreateDefaultCoNtextMenu所使用的操作功能表資訊。
語法
typedef struct {
HWND hwnd;
IContextMenuCB *pcmcb;
PCIDLIST_ABSOLUTE pidlFolder;
IShellFolder *psf;
UINT cidl;
PCUITEMID_CHILD_ARRAY apidl;
IUnknown *punkAssociationInfo;
UINT cKeys;
const HKEY *aKeys;
} DEFCONTEXTMENU;
成員
hwnd
類型: HWND
操作功能表的控制碼。 將此成員設定為從 CreateMenu傳回的控制碼。
pcmcb
類型: ICoNtextMenuCB*
回呼物件所支援 之 ICoNtextMenuCB 介面的指標。 這個值是選擇性的,而且可以是 Null。
pidlFolder
類型: PCIDLIST_ABSOLUTE
資料夾的 PIDL,其中包含選取的檔案物件 () ,如果沒有選取任何檔案物件,則為操作功能表的資料夾。 這個值是選擇性的,而且可以是 Null,在此情況下,PIDL 是從 psf 成員計算而來。
psf
類型: IShellFolder*
資料夾物件的 IShellFolder 介面指標,其中包含選取的檔案物件,如果沒有選取任何檔案物件,則為包含操作功能表的資料夾。
cidl
類型: UINT
成員 apidl中的專案計數。
apidl
類型: PCUITEMID_CHILD_ARRAY
ITEMIDLIST結構的常數陣列指標。 陣列中的每個專案都會描述操作功能表所套用的子專案,例如,使用者想要 開啟的選取檔案。
punkAssociationInfo
類型: IUnknown*
要從中載入延伸的物件上 IQueryAssociations 介面的指標。 此參數是選擇性的,因此可以是 Null。 如果此值為Null,且aKeys和cKeys成員也是Null (請參閱備註) ,則 punkAssociationInfo會從apidl成員計算,並透過透過 IShellFolder::GetUIObjectOf的IQueryAssociations要求來計算 cidl。
如果IShellFolder::GetUIObjectOf傳回E_NOTIMPL,則會根據從IShellFolder::GetAttributesOf傳回的SFGAO_FOLDER和SFGAO_FILESYSTEM屬性來提供預設實作。
cKeys
類型: UINT
成員 aKeys中的專案計數。 此值可以是零。 如果值為零,則會根據支援成員punkAssociationInfo所指定之介面IQueryAssociations的物件載入延伸模組。 如果值為非 Null,則延伸模組只會根據成員 aKeys 載入,而不是成員 punkAssociationInfo。
aKeys
類型: const HKEY*
HKEY 的指標,指定要從中載入延伸模組的登錄機碼。 這個參數是選擇性的,而且可以是 Null。 如果值為Null,則會根據支援在 punkAssociationInfo 中指定的介面 IQueryAssociations物件載入延伸模組。
備註
如果 aKeys 和 cKeys 成員有效,而且成員 punkAssociationInfo 也有效 (非 Null) ,則系統會使用 aKeys 和 cKeys的值來建構功能表,並忽略成員 punkAssociationInfo (IQueryAssociations) 。
成員 apidl 和 cidl 可用來做為 IShellFolder::GetUIObjectOf 方法的參數來擷取 IDataObject。
規格需求
最低支援的用戶端 | Windows Vista [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2008 [僅限傳統型應用程式] |
標頭 | shlobj_core.h (包含 Shlobj.h) |