レジストリキーから、指定した値のデータを取得します。
LONG RegQueryValueExA( HKEY hKey, // キーのハンドル PCTSTR pValueName, // 値の名前 PDWORD pReserved, // 予約(NULLを指定) PDWORD pType, // データタイプを格納する変数 PBYTE pData, // データを格納するバッファ PDWORD pcbData // バッファサイズを入れた変数 );
ADVAPI32.DLL
現在オープンされているキーのハンドルを指定します。このハンドルは KEY_QUERY_VALUE アクセスを持っていなければなりません。
次の定義済みキーを指定することもできます。
値 | 定義済みキー |
---|---|
0x80000000 | HKEY_CLASSES_ROOT |
0x80000001 | HKEY_CURRENT_USER |
0x80000002 | HKEY_LOCAL_MACHINE |
0x80000003 | HKEY_USERS |
0x80000004 | Windows NT/2000/XP: HKEY_PERFORMANCE_DATA |
0x80000005 | HKEY_CURRENT_CONFIG |
0x80000006 | Windows 95/98/Me: HKEY_DYN_DATA |
0x80000050 | Windows XP: HKEY_PERFORMANCE_TEXT |
0x80000060 | Windows XP: HKEY_PERFORMANCE_NLSTEXT |
値の名前を表す文字列のアドレスを指定します。
このパラメータに空の文字列("")のアドレスまたは 0 (NULL) を指定すると、名前なしの値またはデフォルトの値がある場合にはそれが取得されます。
Windows 95/98/Me: それぞれのキーはデータを持たないデフォルトの値を持ちます。 Windows 95 では、キーのデフォルトの値のデータ型は常に REG_SZ であるので、デフォルトの値では dwType パラメータには REG_SZ を指定しなければなりません。 Windows 98/Me では、デフォルトの値の型は初期状態では REG_SZ ですが、 RegSetValueEx 関数にはどのデータ型でも指定することができます。
Windows NT/2000/XP: 初期状態では名前なしの値またはデフォルトの値を持ちません。名前なしの値にはどのデータ型でも指定することができます。
予約されています。 0 (NULL) を指定しなければなりません。
値のデータの型を格納するための変数のアドレスを指定します。関数が制御を返すと、値のデータの型を示す値が格納されます。値のデータの型についての情報が不要の場合は 0 (NULL) を指定することができます。
値のデータを受け取るバッファのアドレスを指定します。値のデータが不要の場合は 0 (NULL) を指定することができます。
pData パラメータで表されるバッファのバイト単位のサイズを格納した変数のアドレスを指定します。関数が制御を返すと、バッファに格納されたデータのバイト数が格納されます。データの型が REG_SZ, REG_MULTI_SZ, REG_EXPAND_SZ の場合、返されるサイズには終端ヌル文字の分のサイズが含まれます。
pData パラメータに 0 (NULL) を指定した場合は、このパラメータに 0 (NULL) を指定することができます。
バッファが小さすぎるときは、必要なバイト数が格納され、関数は戻り値 234 (ERROR_MORE_DATA) を返します。この場合は、 pData パラメータが指すバッファの内容は未定義です。
pData パラメータに 0 (NULL) を指定し、かつ、 pcbData パラメータに 0 (NULL) 以外を指定すると、この変数には必要なバイト数が格納され、関数は戻り値 0 (ERROR_SUCCESS) を返します。
成功すると 0 (ERROR_SUCCESS) が返ります。
失敗すると 0 以外のエラーコードが返ります。このエラーコードと FORMAT_MESSAGE_FROM_SYSTEM フラグを指定して FormatMessage 関数を呼び出すことで、エラーメッセージを取得できます。
Windows 95 以降 / Windows NT 3.1 以降