次の方法で共有


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 エラー コードを返します。

注釈

アダプター オブジェクトは 、IPropertySetStorageIPropertyStoreIPropertyStoreCapabilities、および IObjectProvider を実装します。

IPropertySetStorage インターフェイスを必要とする API で IPropertyStore を実装するオブジェクトが必要な場合は、この関数を使用します。 作成された オブジェクトは、 IPropertySetStorage を使用して名前空間項目へのバインドをサポートする名前空間拡張機能にも役立ちます。 アプリケーションでは、一度に 1 つのスレッドからこのオブジェクトを呼び出す必要があります。

この関数によって作成されたアダプター プロパティ ストアは、ソース 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