IContextMenuCB::CallBack 方法 (shobjidl_core.h)

为上下文菜单启用回调函数。

语法

HRESULT CallBack(
  [in]           IShellFolder *psf,
  [in, optional] HWND         hwndOwner,
  [in]           IDataObject  *pdtobj,
  [in]           UINT         uMsg,
  [in]           WPARAM       wParam,
  [in]           LPARAM       lParam
);

参数

[in] psf

类型: IShellFolder*

指向对象的 IShellFolder 接口的指针,该对象支持 IContextMenuCB::CallBack 接口。 调用 GetUIObjectOf 时返回上下文菜单界面。

[in, optional] hwndOwner

类型:HWND

上下文菜单所有者的句柄。 此值可以为 NULL

[in] pdtobj

类型: IDataObject*

指向 IDataObject 的指针,该 IDataObject 包含有关菜单选择的信息。 实现接口 IDataObject,或为默认实现调用 SHCreateDataObject

[in] uMsg

类型: UINT

来自 Shell 的默认菜单实现的通知。 例如,默认菜单实现调用 DFM_MERGECONTEXTMENU ,以允许 IContextMenuCB::CallBack 的实施者删除、添加或禁用此回调中的上下文菜单项。 使用以下通知之一。

DFM_MERGECONTEXTMENU
DFM_INVOKECOMMAND
DFM_GETHELPTEXT
DFM_GETHELPTEXTW
DFM_WM_MEASUREITEM
DFM_WM_DRAWITEM
DFM_WM_INITMENUPOPUP
DFM_VALIDATECMD
DFM_INVOKECOMMANDEX
DFM_MAPCOMMANDNAME
DFM_GETDEFSTATICID
DFM_GETVERB
DFM_MERGECONTEXTMENU_BOTTOM

[in] wParam

类型:WPARAM

特定于 uMsg 中指定的通知的数据。 有关特定要求,请参阅单个通知页。

[in] lParam

类型:LPARAM

特定于 uMsg 中指定的通知的数据。 有关特定要求,请参阅单个通知页。

返回值

类型: HRESULT

如果该方法成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。

要求

要求
最低受支持的客户端 Windows Vista [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 [仅限桌面应用]
目标平台 Windows
标头 shobjidl_core.h (包括 Shobjidl.h)

另请参阅

创建上下文菜单处理程序

IContextMenuCB