次の方法で共有


AssocQueryStringW 関数 (shlwapi.h)

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

構文

LWSTDAPI AssocQueryStringW(
  [in]            ASSOCF   flags,
  [in]            ASSOCSTR str,
  [in]            LPCWSTR  pszAssoc,
  [in, optional]  LPCWSTR  pszExtra,
  [out, optional] LPWSTR   pszOut,
  [in, out]       DWORD    *pcchOut
);

パラメーター

[in] flags

型: ASSOCF

検索を制御するために使用できるフラグ。 ASSOCF 値 任意の組み合わせにすることができますが、含めることができるASSOCF_INIT値は 1 つだけです。

[in] str

型: ASSOCSTR

ASSOCSTR 返される文字列の型を指定する値です。

[in] pszAssoc

型: LPCTSTR

ルート キーの決定に使用される null で終わる文字列へのポインター。 次の 4 種類の文字列を使用できます。

ファイル名拡張子

.txtなどのファイル名拡張子。

CLSID

標準の "{GUID}" 形式の CLSID GUID。

ProgID

Word.Document.8などのアプリケーションの ProgID。

実行可能ファイル名

アプリケーションの .exe ファイルの名前。 ASSOCF_OPEN_BYEXENAME フラグは、フラグで設定する必要があります。

[in, optional] pszExtra

型: LPCTSTR

文字列の場所に関する追加情報を含む、null で終わる省略可能な文字列。 通常は、開いているなどのシェル動詞 設定されます。 このパラメーターを使用しない場合は、NULLに設定します。

[out, optional] pszOut

型: LPTSTR

この関数が正常に返されると、要求された文字列を受け取る null で終わる文字列へのポインター。 このパラメーターを NULL 設定して、必要なバッファー サイズを取得します。

[in, out] pcchOut

型: DWORD*

関数を呼び出すときに、pszOut バッファー内の文字数に設定される値へのポインター。 関数が正常に戻ると、値はバッファーに実際に配置された文字数に設定されます。

ASSOCF_NOTRUNCATE フラグが フラグ で設定されていて、pszOut で指定されたバッファーが小さすぎる場合、関数はE_POINTERを返し、値はバッファーの必要なサイズに設定されます。

pszOut が NULL場合、関数はS_FALSEを返し、pcchOut はバッファーの必要なサイズ (文字数) を指します。

戻り値

型: HRESULT

次のような標準の COM エラー値を返します。

エラー 意味
S_OK 成功。
E_POINTER pszOut バッファーが小さすぎて文字列全体を保持できません。
S_FALSE pszOut NULLpcchOut には、必要なバッファー サイズが含まれています。

備考

この関数は、IQueryAssociations インターフェイスのラッパーです。 AssocQueryString 関数は、IQueryAssociations インターフェイス 使用するプロセスを簡略化することを目的としています。

項目が選択されたら、ホストは、そのアイテムに使用できる (存在する場合) プレビュー ハンドラーを決定する必要があります。 プレビュー ハンドラーは通常、ファイル名拡張子または ProgID に登録されますが、一部のプレビュー ハンドラーは、特定のシェル フォルダー内のアイテムに対してのみインスタンス化されます (MAPI プレビュー ハンドラーは、MAPI シェル フォルダーから取得されたすべてのアイテムに関連付けられています)。 そのため、ホストは IQueryAssociations 使用して、使用するプレビュー ハンドラーを決定する必要があります。 ファイルとプロトコルの関連付け関数のしくみの詳細については、IQueryAssociationsを参照してください。

手記

shlwapi.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして AssocQueryString を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。

必要条件

要件 価値
サポートされる最小クライアント Windows 2000 Professional、Windows XP [デスクトップ アプリのみ]
サポートされる最小サーバー Windows 2000 Server [デスクトップ アプリのみ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー shlwapi.h
ライブラリ Shlwapi.lib
DLL Shlwapi.dll (バージョン 5.0 以降)