SHRegGetPathA 関数 (shlwapi.h)

レジストリからファイル パスを取得し、必要に応じて環境変数を展開します。

構文

LSTATUS SHRegGetPathA(
  [in]  HKEY   hKey,
  [in]  LPCSTR pcszSubKey,
  [in]  LPCSTR pcszValue,
  [out] LPSTR  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% システム ドライブ文字
 
メモ %USERPROFILE% は、呼び出しを行っているユーザーに対して相対的です。 ユーザーがサービスから偽装されている場合、この関数は機能しません。
 

注意

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

要件

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