SHRegGetPathW 関数 (shlwapi.h)
レジストリからファイル パスを取得し、必要に応じて環境変数を展開します。
構文
LSTATUS SHRegGetPathW(
[in] HKEY hKey,
[in] LPCWSTR pcszSubKey,
[in] LPCWSTR pcszValue,
[out] LPWSTR pszPath,
DWORD dwFlags
);
パラメーター
[in] hKey
種類: HKEY
現在開いているキーのハンドル、またはレジストリ ルート キー。
[in] pcszSubKey
種類: LPCTSTR
サブキーの名前を含む null で終わる文字列へのポインター。
[in] pcszValue
種類: LPCTSTR
未指定のパス文字列を保持する値の名前を含む null で終わる文字列へのポインター。
[out] pszPath
種類: LPTSTR
展開されたパスを保持するバッファー。 返された文字列を保持するのに十分な大きさになるように、このバッファーのサイズを MAX_PATH に設定する必要があります。
dwFlags
型: DWORD
予約済み。
戻り値
種類: LSTATUS
成功した場合 はERROR_SUCCESS を返し、それ以外の場合は Windows エラー コードを返します。
解説
指定したレジストリ値のデータ型は 、REG_EXPAND_SZ または REG_SZである必要があります。 REG_EXPAND_SZ型の場合、レジストリ文字列内の環境変数は ExpandEnvironmentStrings で展開されます。 REG_SZデータ型の場合、環境変数は展開されず、pszPath が指す文字列はレジストリ内の文字列と同じになります。
次の環境文字列は、同等のパスに置き換えられます。
環境文字列 | Folder |
---|---|
%USERPROFILE% | 現在のユーザーのプロファイル フォルダー |
%ALLUSERSPROFILE% | [すべてのユーザー] プロファイル フォルダー |
%ProgramFiles% | Program Files フォルダー |
%SystemRoot% | システム ルート フォルダー |
%SystemDrive% | システム ドライブ文字 |
注意
shlwapi.h ヘッダーは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして SHRegGetPath を定義します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
サポートされている最小のクライアント | Windows 2000 Professional、Windows XP [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | shlwapi.h |
Library | Shlwapi.lib |
[DLL] | Shlwapi.dll (バージョン 5.0 以降) |