CDefFolderMenu_Create2 函式 (shlobj_core.h)

為選取的檔案資料夾物件群組建立操作功能表。

語法

SHSTDAPI CDefFolderMenu_Create2(
  [in, optional] PCIDLIST_ABSOLUTE     pidlFolder,
  [in, optional] HWND                  hwnd,
                 UINT                  cidl,
  [in, optional] PCUITEMID_CHILD_ARRAY apidl,
  [in, optional] IShellFolder          *psf,
  [in, optional] LPFNDFMCALLBACK       pfn,
                 UINT                  nKeys,
  [in, optional] const HKEY            *ahkeys,
  [out]          IContextMenu          **ppcm
);

參數

[in, optional] pidlFolder

類型: PCIDLIST_ABSOLUTE

父資料夾 的 ITEMIDLIST 結構。 此值可以是 Null

[in, optional] hwnd

類型: HWND

父視窗的控制碼。 此值可以是 Null

cidl

類型: UINT

apidl所指向陣列中的ITEMIDLIST結構數目。

[in, optional] apidl

類型: PCUITEMID_CHILD_ARRAY*

ITEMIDLIST結構的陣列指標,每個選取的專案各一個。

[in, optional] psf

類型: IShellFolder*

父資料夾 IShellFolder 介面的指標。 此 IShellFolder 必須支援 IDataObject 介面。 如果沒有, CDefFolderMenu_Create2 會失敗,並傳回E_NOINTERFACE。 此值可以是 Null

[in, optional] pfn

類型: LPFNDFMCALLBACK

LPFNDFMCALLBACK回呼物件。 如果不需要回呼物件,這個值可以是 Null

nKeys

類型: UINT

ahkeys所指向陣列中的登錄機碼數目。

注意 登錄機碼數目上限為 16。 呼叫端必須強制執行此限制,因為 API 不會。 無法這麼做可能會導致記憶體損毀。
 

[in, optional] ahkeys

類型: const HKEY*

登錄機碼陣列的指標,指定與功能表項目目搭配使用的快顯功能表處理常式。 如需操作功能表處理常式的詳細資訊,請參閱 建立操作功能表處理常式。 此陣列最多可以包含 16 個登錄機碼。

[out] ppcm

類型: ICoNtextMenu**

ICoNtextMenu介面指標的位址,當此函式成功傳回時,會指向代表操作功能表的ICoNtextMenu物件。

傳回值

類型: HRESULT

如果此函式成功,則會傳回 S_OK。 否則,它會傳回 HRESULT 錯誤碼。

需求

   
最低支援的用戶端 Windows 2000 專業版、Windows XP [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 [僅限傳統型應用程式]
目標平台 Windows
標頭 shlobj_core.h (包含 Shlobj.h)
程式庫 Shell32.lib
Dll Shell32.dll (5.00 版或更新版本)

另請參閱

SHCreateDefaultCoNtextMenu