次の方法で共有


RegQueryValueW 関数 (winreg.h)

指定したレジストリ キーの既定値または名前のない値に関連付けられているデータを取得します。 データは、null-terminated 文字列である必要があります。

この関数は、16 ビット バージョンの Windows との互換性のためにのみ提供されます。 アプリケーションでは、RegQueryValueEx 関数を使用する必要があります。
 

構文

LSTATUS RegQueryValueW(
  [in]                HKEY    hKey,
  [in, optional]      LPCWSTR lpSubKey,
  [out, optional]     LPWSTR  lpData,
  [in, out, optional] PLONG   lpcbData
);

パラメーター

[in] hKey

開いているレジストリ キーへのハンドル。 キーは、KEY_QUERY_VALUEアクセス権で開かれている必要があります。 詳細については、「レジストリ キーのセキュリティとアクセス権のを する」を参照してください。

このハンドルは、RegCreateKeyEx、RegCreateKeyTransacted、RegOpenKeyEx、または RegOpenKeyTransacted 関数 返されます。 また、次のいずれかの定義済みキー することもできます。

HKEY_CLASSES_ROOT
HKEY_CURRENT_CONFIG
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_USERS

[in, optional] lpSubKey

既定値を取得する hKey パラメーターのサブキーの名前。

キー名では大文字と小文字は区別されません。

このパラメーターが NULL の場合、または空の文字列を指している場合、関数は hKeyで識別されるキーの既定値 取得します。

詳細については、「レジストリ要素のサイズ制限」を参照してください。

[out, optional] lpData

指定したキーの既定値を受け取るバッファーへのポインター。

lpValue が NULL、lpcbValue が非NULL場合、関数はERROR_SUCCESSを返し、データのサイズをバイト単位で lpcbValue指す変数に格納します。 これにより、アプリケーションは値のデータにバッファーを割り当てる最適な方法を決定できます。

[in, out, optional] lpcbData

lpValue パラメーターが指すバッファーのサイズをバイト単位で指定する変数へのポインター。 関数から制御が戻るときに、この変数には、lpValueにコピーされたデータのサイズ (終端 null 文字を含む) が格納されます。

データにREG_SZ、REG_MULTI_SZ、またはREG_EXPAND_SZの型がある場合、このサイズには、null 文字または文字 終端が含まれます。 詳細については、「解説」を参照してください。

lpValue 指定されたバッファーがデータを保持するのに十分な大きさでない場合、関数はERROR_MORE_DATAを返し、lpcbValueが指す変数に必要なバッファー サイズ 格納します。 この場合、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 文字が含まれる必要があることに注意してください)。

特定のレジストリ キーにアクセスする操作はリダイレクトされることに注意してください。 詳細については、「レジストリ仮想化 およびレジストリの 32 ビットおよび 64 ビット アプリケーション データを する」を参照してください。

手記

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 を する

レジストリ関数 を する

レジストリの概要