次の方法で共有


PSGetItemPropertyHandler 関数 (propsys.h)

シェル項目のプロパティ ハンドラーを取得します。

構文

PSSTDAPI PSGetItemPropertyHandler(
  [in]  IUnknown *punkItem,
  [in]  BOOL     fReadWrite,
  [in]  REFIID   riid,
  [out] void     **ppv
);

パラメーター

[in] punkItem

種類: IUnknown*

IShellItem をサポートするシェル項目の IUnknown インターフェイスへのポインター。

Windows XP:SHCreateShellItem を使用してシェル 項目を作成します。

Windows Vista: シェル アイテムを作成するには、 SHCreateItemFromIDListSHCreateItemFromParsingNameSHCreateItemFromRelativeNameSHCreateItemInKnownFolder、または SHCreateItemWithParent を使用します。

[in] fReadWrite

種類: BOOL

み取り/書き込みプロパティ ハンドラーを取得する場合は TRUE。 み取り専用プロパティ ハンドラーを取得する場合は FALSE。

[in] riid

種類: REFIID

ハンドラー オブジェクトが返すインターフェイスの IID への参照。 これは 、IPropertyStore または IPropertyStore から派生したインターフェイス である必要があります。

[out] ppv

型: void**

この関数が戻るとき、 には 、riid で要求されたインターフェイス ポインターが含まれます。

戻り値

種類: PSSTDAPI

成功した場合 はS_OK を返し、それ以外の場合はエラー値を返します。

注釈

この関数は、Windows XP および Windows Vista でサポートされています。 Windows Vista 以降でのみサポートされているアプリケーションの場合は、PSGetItemPropertyHandler の代わりに IShellItem2::GetPropertyStore を使用することをお勧めします。 このメソッドは、返されるプロパティ ストア内のより豊富なプロパティ セットを提供します。

この関数は、GPS_HANDLERPROPERTIESONLY フラグを IShellItem2::GetPropertyStore に渡すこととほぼ同じです。

PSGetItemPropertyHandler を呼び出す前に、CoInitialize または OleInitialize を使用してコンポーネント オブジェクト モデル (COM) を初期化する必要があります。 COM は、このオブジェクトの有効期間にわたって初期化されたままになります。

大規模なプログラムの一部として含める次の例では、 PSGetItemPropertyHandler を使用して項目のプロパティ ハンドラーを取得する方法を示します。

// IShellItem *psi;
// Assume variable psi is valid and initialized.
IPropertyStore *pStore;

HRESULT hr = PSGetItemPropertyHandler(psi, FALSE, IID_PPV_ARGS(&pStore));

if (SUCCEEDED(hr))
{
    // pStore is now valid and contains properties exposed through the 
    // property handler for the item.
 
    pStore->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