次の方法で共有


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% システム ドライブ文字
 
メモ %USERPROFILE% は、呼び出しを行うユーザーを基準にしています。 ユーザーがサービスから偽装されている場合、この関数は機能しません。
 

注意

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 以降)