IShellItem2::GetPropertyStoreWithCreateObject メソッド (shobjidl_core.h)

CoCreateInstance の代わりに指定された ICreateObject を使用して、このメソッドが呼び出される Shell 項目に関連付けられているプロパティ ハンドラーのインスタンスを作成します。 ほとんどの呼び出し元のアプリケーションでは、このメソッドを呼び出す必要はありません。代わりに IShellItem2::GetPropertyStore を 呼び出すことができます。

構文

HRESULT GetPropertyStoreWithCreateObject(
  [in]  GETPROPERTYSTOREFLAGS flags,
  [in]  IUnknown              *punkCreateObject,
  [in]  REFIID                riid,
  [out] void                  **ppv
);

パラメーター

[in] flags

型: GETPROPERTYSTOREFLAGS

プロパティ ストア オブジェクトを変更する GETPROPERTYSTOREFLAGS 定数。

[in] punkCreateObject

種類: IUnknown*

ICreateObject 型の権限を低く作成するためのファクトリへのポインター。

CreateObject メソッドは、COM オブジェクトのインスタンスを作成します。 IShellItem2::GetPropertyStoreWithCreateObject の実装では、CoCreateInstance ではなく CreateObject を使用して、特定のファイルの種類に対してシェル拡張機能であるプロパティ ハンドラーを作成します。 プロパティ ハンドラーは、このメソッドが返すプロパティ ストア内の重要なプロパティの多くを提供します。

このメソッドは、 ICreateObject オブジェクトが (INPROCSERVER ではなく LOCALSERVER として) 別のプロセスで作成され、この他のプロセスが IShellItem2::GetPropertyStoreWithCreateObject を呼び出すプロセスよりも権限が低い場合にのみ役立ちます。

[in] riid

型: REFIID

取得するオブジェクトの IID への参照。

[out] ppv

型: void**

このメソッドから制御が戻るときに、要求された IPropertyStore インターフェイス ポインターのアドレスが格納されます。

戻り値

型: HRESULT

このメソッドは、成功すると S_OK を返します。 そうでない場合は、HRESULT エラー コードを返します。

注釈

メモ ファイルのプロパティ ストアでこのメソッドが呼び出されると、そのファイルは IPropertyStore オブジェクトの有効期間にわたって開いたまま保持されます。
 

要件

要件
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー shobjidl_core.h (Shobjidl.h を含む)