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 値
[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 で終わる省略可能な文字列。 通常は、開いているなどのシェル動詞
[out, optional] pszOut
型: LPTSTR
この関数が正常に返されると、要求された文字列を受け取る null で終わる文字列へのポインター。 このパラメーターを NULL
[in, out] pcchOut
型: DWORD*
関数を呼び出すときに、pszOut バッファー内の文字数に設定される値へのポインター。 関数が正常に戻ると、値はバッファーに実際に配置された文字数に設定されます。
ASSOCF_NOTRUNCATE フラグが フラグ で設定されていて、pszOut で指定されたバッファーが小さすぎる場合、関数はE_POINTERを返し、値はバッファーの必要なサイズに設定されます。
pszOut が NULL
戻り値
型: HRESULT
次のような標準の COM エラー値を返します。
エラー | 意味 |
---|---|
S_OK | 成功。 |
E_POINTER | pszOut バッファーが小さすぎて文字列全体を保持できません。 |
S_FALSE | pszOut |
備考
この関数は、IQueryAssociations インターフェイスのラッパーです。
項目が選択されたら、ホストは、そのアイテムに使用できる (存在する場合) プレビュー ハンドラーを決定する必要があります。 プレビュー ハンドラーは通常、ファイル名拡張子または ProgID に登録されますが、一部のプレビュー ハンドラーは、特定のシェル フォルダー内のアイテムに対してのみインスタンス化されます (MAPI プレビュー ハンドラーは、MAPI シェル フォルダーから取得されたすべてのアイテムに関連付けられています)。 そのため、ホストは IQueryAssociations
手記
shlwapi.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして AssocQueryString を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows 2000 Professional、Windows XP [デスクトップ アプリのみ] |
サポートされる最小サーバー | Windows 2000 Server [デスクトップ アプリのみ] |
ターゲット プラットフォーム の |
ウィンドウズ |
ヘッダー | shlwapi.h |
ライブラリ | Shlwapi.lib |
DLL | Shlwapi.dll (バージョン 5.0 以降) |