次の方法で共有


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 指す文字列はレジストリ内の文字列と同じになります。

次の環境文字列は、同等のパスに置き換えられます。

環境文字列 フォルダ
%USERPROFILE% 現在のユーザーのプロファイル フォルダー
%ALLUSERSPROFILE% [すべてのユーザー] プロファイル フォルダー
%ProgramFiles% Program Files フォルダー
%SystemRoot% システム ルート フォルダー
%SystemDrive% システム ドライブ文字
 
%USERPROFILE% は、呼び出しを行うユーザーに対して相対的です。 ユーザーがサービスから偽装されている場合、この関数は機能しません。
 

手記

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

必要条件

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