PSLookupPropertyHandlerCLSID 関数 (propsys.h)
コンピューターごとの登録済みファイル プロパティ ハンドラーのクラス識別子 (CLSID) を取得します。
構文
PSSTDAPI PSLookupPropertyHandlerCLSID(
[in] PCWSTR pszFilePath,
[out] CLSID *pclsid
);
パラメーター
[in] pszFilePath
種類: PCWSTR
プロパティ ハンドラー CLSID が要求されたファイルの絶対パスを含む、null で終わる Unicode バッファーへのポインター。
[out] pclsid
型: CLSID*
この関数が戻るとき、 には要求されたプロパティ ハンドラー CLSID が含まれます。
戻り値
種類: PSSTDAPI
成功した場合 はS_OK を返し、それ以外の場合はエラー値を返します。
解説
ハンドラーを登録する方法については、「 プロパティ ハンドラーの初期化」を参照してください。
この関数は、 HKEY_LOCAL_MACHINEに登録されているハンドラーのみを返します。
ほとんどの呼び出し元のアプリケーションでは、このメソッドを呼び出したり、 CoCreateInstance を使用してプロパティ ハンドラーを直接作成したりする必要はありません。 代わりに、アプリケーションを呼び出すには 、IShellItem2::GetPropertyStore を使用して、Windows Vista 上のシェル項目のプロパティ ストアを作成する必要があります。 IShellItem2::GetPropertyStore には、シェル アイテムで使用できるプロパティの最大セットと、返すプロパティを正確にカスタマイズするための最も多くのオプションが用意されています。
指定したファイルに対してプロパティ ハンドラーが登録されていない場合、この関数はエラー コードを返します。 このような場合でも、 IShellItem2::GetPropertyStore から返されたプロパティ ストアから特定のファイル システム プロパティを読み取ることができる場合があります。
コードからプロパティ ハンドラーを作成する必要があり、Windows Vista と Windows XP の両方で実行する必要があるアプリケーションは 、PSGetItemPropertyHandler を呼び出して、Microsoft Windows デスクトップ検索 (WDS) 再頒布可能パッケージを使用してシェル 項目のプロパティ ストアを作成できます。
例
大規模なプログラムの一部として含める次の例は、 PSLookupPropertyHandlerCLSID を使用する方法を示しています。
CLSID clsid;
HRESULT hr = PSLookupPropertyHandlerCLSID(L"C:\\windows\\system32\\shell32.dll", &clsid);
if (SUCCEEDED(hr))
{
// clsid contains the CLSID of the property handler used for
// C:\windows\system32\shell32.dll.
}
要件
サポートされている最小のクライアント | WINDOWS XP と SP2、Windows Vista [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2003 SP1 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | propsys.h |
Library | Propsys.lib |
[DLL] | Propsys.dll (バージョン 6.0 以降) |
再頒布可能パッケージ | Windows デスクトップ検索 (WDS) 3.0 |