RegQueryValueW 関数 (winreg.h)
指定したレジストリ キーの既定値または名前のない値に関連付けられているデータを取得します。 データは、null-terminated 文字列である必要があります。
構文
LSTATUS RegQueryValueW(
[in] HKEY hKey,
[in, optional] LPCWSTR lpSubKey,
[out, optional] LPWSTR lpData,
[in, out, optional] PLONG lpcbData
);
パラメーター
[in] hKey
開いているレジストリ キーへのハンドル。 キーは、KEY_QUERY_VALUEアクセス権で開かれている必要があります。 詳細については、「レジストリ キーのセキュリティとアクセス権のを
このハンドルは、
- HKEY_CLASSES_ROOT
- HKEY_CURRENT_CONFIG
- HKEY_CURRENT_USER
- HKEY_LOCAL_MACHINE
- HKEY_USERS
[in, optional] lpSubKey
既定値を取得する hKey パラメーターのサブキーの名前。
キー名では大文字と小文字は区別されません。
このパラメーターが NULL
詳細については、「レジストリ要素のサイズ制限
[out, optional] lpData
指定したキーの既定値を受け取るバッファーへのポインター。
lpValue が NULL
[in, out, optional] lpcbData
lpValue パラメーターが指すバッファーのサイズをバイト単位で指定する変数へのポインター。 関数から制御が戻るときに、この変数には、lpValueにコピーされたデータのサイズ (終端 null 文字を含む) が格納されます。
データにREG_SZ、REG_MULTI_SZ、またはREG_EXPAND_SZの型がある場合、このサイズには、null 文字または文字
lpValue
戻り値
関数が成功した場合、戻り値はERROR_SUCCESS。
関数が失敗した場合、戻り値は
lpValue バッファーが小さすぎて値を受け取れなければ、関数はERROR_MORE_DATAを返します。
備考
この関数の ANSI バージョンが使用されている場合 (RegQueryValueA を明示的に呼び出すか、Windows.h ファイルを含める前に UNICODE を定義しない場合)、この関数は格納されている Unicode 文字列を ANSI 文字列に変換してから、lpValue パラメーターで指定されたバッファーにコピーします。
データにREG_SZ、REG_MULTI_SZ、またはREG_EXPAND_SZの型がある場合、文字列が適切な null-terminating 文字で格納されていない可能性があります。 したがって、関数がERROR_SUCCESSを返した場合でも、アプリケーションは文字列を使用する前に適切に終了するようにする必要があります。それ以外の場合は、バッファーを上書きする可能性があります。 (REG_MULTI_SZ文字列には、2 つの null-terminating 文字が含まれる必要があることに注意してください)。
特定のレジストリ キーにアクセスする操作はリダイレクトされることに注意してください。 詳細については、「レジストリ仮想化
手記
winreg.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして RegQueryValue を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされる最小サーバー | Windows 2000 Server [デスクトップ アプリのみ] |
ターゲット プラットフォーム の |
ウィンドウズ |
ヘッダー | winreg.h (Windows.h を含む) |
ライブラリ | Advapi32.lib |
DLL | Advapi32.dll |
関連項目
RegEnumKeyEx を
RegEnumValue を
RegQueryInfoKey の
RegQueryValueEx の
RegSetValueEx を
レジストリ関数 を