IQueryAssociations インターフェイス (shlwapi.h)

ファイルの種類またはプロトコルの定義とアプリケーションとの関連付けに関連して、レジストリに格納されている情報を取得するプロセスを簡略化するメソッドを公開します。

継承

IQueryAssociations インターフェイスは、IUnknown インターフェイスから継承します。 IQueryAssociations には、 次の種類のメンバーもあります。

メソッド

IQueryAssociations インターフェイスには、これらのメソッドがあります。

 
IQueryAssociations::GetData

レジストリからファイルまたはプロトコルの関連付けに関連するバイナリ データを検索して取得します。
IQueryAssociations::GetEnum

このメソッドは実装されていません。 (IQueryAssociations.GetEnum)
IQueryAssociations::GetKey

レジストリからファイルまたはプロトコルの関連付けに関連するキーを検索して取得します。
IQueryAssociations::GetString

レジストリからファイルまたはプロトコルの関連付けに関連する文字列を検索して取得します。 (IQueryAssociations.GetString)
IQueryAssociations::Init

IQueryAssociations インターフェイスを初期化し、ルート キーを適切な ProgID に設定します。

注釈

実装するタイミング

このインターフェイスは、ファイルとプロトコルの関連付けの処理を簡略化するために、シェルまたは名前空間拡張機能によって公開されます。 このインターフェイスは実装しないでください。

使用するタイミング

ファイルまたはプロトコルの関連付けに関連するレジストリからの情報が必要な場合は、このインターフェイスを使用します。 たとえば、このインターフェイスを使用して、いずれかの動詞のコマンド文字列など、ファイル名拡張子に関連付けられている情報を取得できます。

完全なレジストリ パスまたは HKEY 値は必要ありません。 代わりに、ファイル名拡張子や実行可能ファイル名などの条件に基づいて情報を取得できます。 ファイルの関連付けの詳細については、「 ファイルの種類」を参照してください。

このインターフェイスを使用して、アプリケーションの名前を取得することもできます。 メソッド IQueryAssociations::GetString を使用します。 str パラメーターを ASSOCSTR_FRIENDLYAPPNAME に設定します。

このインターフェイスを使用するには、最初にポインターを取得する必要があります。 通常、 QueryInterface ポインターを取得するには、シェル オブジェクトの IShellFolder::GetUIObjectOf メソッドを呼び出します。 AssocCreate を呼び出してインターフェイス ポインターを取得することもできます (clsid を CLSID_QueryAssociations に設定します)。 IQueryAssociations::Init を使用してインターフェイスを初期化します。 このメソッドは、レジストリから情報を取得するために残りの 3 つのメソッドのいずれかを呼び出すときに使用されるルート キーを設定します。 ルート キーの下にのみ表示されます。 インターフェイスが不要になった場合は、インターフェイスを解放する必要があります。

IQueryAssociations インターフェイスは、レジストリに対して情報のクエリを繰り返し実行する必要がある場合に便利です。 インターフェイスが初期化されると、さまざまなメソッドを呼び出すオーバーヘッドは比較的小さくなります。 [参照] セクションに一覧表示されている関連関数もいくつか用意されており、1 回の関数呼び出しでレジストリから同じ情報を取得できます。 使用が簡単ですが、呼び出されるたびに IQueryAssociations を作成および初期化するオーバーヘッドが発生します。 このため、1 回の使用に最適です。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional、Windows XP [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー shlwapi.h

こちらもご覧ください

AssocQueryKey

AssocQueryString

AssocQueryStringByKey