AssocQueryStringByKeyA 関数 (shlwapi.h)

指定したキーから始まるレジストリで、ファイルの関連付けに関連する文字列を検索して取得します。

構文

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

パラメーター

[in] flags

種類: ASSOCF

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

[in] str

型: ASSOCSTR

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

[in] hkAssoc

種類: HKEY

ルート キーとして使用されるキーの HKEY 値。 検索は、このキーの下でのみ検索されます。

[in, optional] pszExtra

種類: LPCTSTR

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

[out, optional] pszOut

種類: LPTSTR

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

[in, out] pcchOut

型: DWORD*

エントリ時に pszOut バッファー内の文字数を指定する値へのポインター。 関数が戻るときに、バッファーに配置された文字数を指します。

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

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

戻り値

型: HRESULT

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

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

注釈

この関数は、 IQueryAssociations インターフェイスの ラッパーです。 このインターフェイスを使用するプロセスを簡略化することを目的としています。 ファイル関連付け関数のしくみの詳細については、「 IQueryAssociations」を参照してください。

注意

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

要件

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