AssocQueryStringA 関数 (shlwapi.h)

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

構文

LWSTDAPI AssocQueryStringA(
  [in]            ASSOCF   flags,
  [in]            ASSOCSTR str,
  [in]            LPCSTR   pszAssoc,
  [in, optional]  LPCSTR   pszExtra,
  [out, optional] LPSTR    pszOut,
  [in, out]       DWORD    *pcchOut
);

Parameters

[in] flags

型: ASSOCF

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

[in] str

型: ASSOCSTR

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

[in] pszAssoc

型: LPCTSTR

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

  1. ファイル名拡張子: .txtなどのファイル名拡張子。
  2. CLSID: 標準の "{GUID}" 形式の CLSID GUID。
  3. ProgID: アプリケーションの ProgID (Wordなど)。Document.8
  4. 実行可能ファイル名: アプリケーションの .exe ファイルの名前。 ASSOCF_OPEN_BYEXENAME フラグはフラグで設定する必要があります。

[in, optional] pszExtra

型: LPCTSTR

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

[out, optional] pszOut

型: LPTSTR

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

[in, out] pcchOut

型: DWORD*

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

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

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

戻り値

型: HRESULT

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

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

注釈

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

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

Note

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

Requirements

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