IShellItem2::GetPropertyStoreWithCreateObject 方法 (shobjidl_core.h)
使用指定的 ICreateObject 而不是 CoCreateInstance 创建与调用此方法的 Shell 项关联的属性处理程序的实例。 大多数调用应用程序不需要调用此方法,可以改为调用 IShellItem2::GetPropertyStore 。
语法
HRESULT GetPropertyStoreWithCreateObject(
[in] GETPROPERTYSTOREFLAGS flags,
[in] IUnknown *punkCreateObject,
[in] REFIID riid,
[out] void **ppv
);
参数
[in] flags
修改属性存储对象的 GETPROPERTYSTOREFLAGS 常量。
[in] punkCreateObject
类型: IUnknown*
指向工厂的指针,用于创建 ICreateObject 类型的低权限。
方法 CreateObject 创建 COM 对象的实例。 IShellItem2::GetPropertyStoreWithCreateObject 的实现使用 CreateObject 而不是 CoCreateInstance 为给定文件类型创建属性处理程序(这是 Shell 扩展)。 属性处理程序在此方法返回的属性存储中提供了许多重要属性。
仅当 ICreateObject 对象是在单独的进程中创建的, (为 LOCALSERVER 而不是 INPROCSERVER) ,并且此其他进程的权限低于调用 IShellItem2::GetPropertyStoreWithCreateObject 的进程时,此方法才有用。
[in] riid
类型: REFIID
对要检索的对象的 IID 的引用。
[out] ppv
类型: void**
此方法返回时,包含所请求的 IPropertyStore 接口指针的地址。
返回值
类型: HRESULT
如果该方法成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。
注解
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 [仅限桌面应用] |
目标平台 | Windows |
标头 | shobjidl_core.h (包括 Shobjidl.h) |