IShellExtInit::Initialize 方法 (shobjidl_core.h)

初始化属性表扩展、快捷菜单扩展或拖放处理程序。

语法

HRESULT Initialize(
  [in] PCIDLIST_ABSOLUTE pidlFolder,
  [in] IDataObject       *pdtobj,
  [in] HKEY              hkeyProgID
);

参数

[in] pidlFolder

类型: PCIDLIST_ABSOLUTE

指向唯一标识文件夹的 ITEMIDLIST 结构的指针。 对于属性表扩展,此参数为 NULL。 对于快捷菜单扩展,它是包含要显示其快捷菜单的项的文件夹的项目标识符列表。 对于非默认拖放菜单扩展,此参数指定目标文件夹。

[in] pdtobj

类型: IDataObject*

指向 IDataObject 接口对象的指针,该对象可用于检索正在执行操作的对象。

[in] hkeyProgID

类型: HKEY

文件对象或文件夹类型的注册表项。

返回值

类型: HRESULT

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

注解

某些参数的含义取决于扩展类型。 对于拖放处理程序, pidlFolder 参数指定目标文件夹 (放置目标) , pdtobj 参数标识要删除的项目, hkeyProgID 参数指定目标文件夹的文件类型。

对于 快捷菜单扩展pdtobj 标识所选文件对象, hkeyProgID 使用焦点标识对象的 文件类型pidlFolder 对于) 的文件对象为 NULL (,或者指定 (文件夹后台快捷菜单) 请求快捷菜单的文件夹。

对于属性表扩展, pidlFolderNULLpdtobj 标识所选文件对象, hkeyProgID 指定具有焦点的文件对象的文件类型。

实施者说明

这是 Shell 在创建属性表扩展、快捷菜单扩展或拖放处理程序的实例后调用的第一种方法。

要求

   
最低受支持的客户端 Windows XP [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 shobjidl_core.h (包括 Shobjidl.h)
DLL Shell32.dll (4.0 或更高版本)