PSCreateAdapterFromPropertyStore 函数 (propsys.h)
从 IPropertyStore 创建适配器。
语法
PSSTDAPI PSCreateAdapterFromPropertyStore(
[in] IPropertyStore *pps,
[in] REFIID riid,
[out] void **ppv
);
参数
[in] pps
类型: IPropertyStore*
指向表示属性 存储的 IPropertyStore 对象的指针。
[in] riid
类型: REFIID
对 IID 的引用。
[out] ppv
类型: void**
当此函数返回时,包含 riid 中请求的接口指针。
返回值
类型: HRESULT
如果此函数成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。
注解
适配器对象实现 IPropertySetStorage、 IPropertyStore、 IPropertyStoreCapabilities 和 IObjectProvider。
如果需要使用需要 IPropertySetStorage 接口的 API 实现 IPropertyStore 的对象,请使用此函数。 创建的对象对于想要支持使用 IPropertySetStorage 绑定到命名空间项的命名空间扩展也很有用。 应用程序一次只能从一个线程调用此对象。
此函数创建的适配器属性存储保留对源 IPropertyStore 接口的引用。 因此,调用应用程序在调用此函数后,只要方便,就可自由释放对源 IPropertyStore 的引用。
适配器属性存储会根据需要调用 IPropertyStore 接口上的方法。 因此,如果调用应用程序正在向存储写入值,它应仅在其中一个接口上调用 IPropertyStore::Commit 方法。
示例
以下示例将作为较大程序的一部分包含,演示如何使用 PSCreateAdapterFromPropertyStore 使用适配器属性存储将 IPropertyStore 接口转换为 IPropertySetStorage 接口。
// IPropertyStore *ppropstore;
// Assume variable ppropstore is initialized and valid
IPropertySetStorage *pSetStorage;
HRESULT hr = PSCreateadapterFromPropertyStore(ppropstore, IID_PPV_ARGS(&pSetStorage));
if (SUCCEEDED(hr))
{
// pSetStorage is now valid and can be used to access the data in ppropstore.
pSetStorage->Release();
}
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows XP SP2、Windows Vista [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 SP1 [仅限桌面应用] |
目标平台 | Windows |
标头 | propsys.h |
Library | Propsys.lib |
DLL | Propsys.dll (版本 6.0 或更高版本) |
可再发行组件 | Windows 桌面搜索 (WDS) 3.0 |