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 错误代码。

注解

适配器对象实现 IPropertySetStorageIPropertyStoreIPropertyStoreCapabilitiesIObjectProvider

如果需要使用需要 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

另请参阅

IPropertySetStorage

IPropertyStore

PSCreatePropertyStoreFromPropertySetStorage