RegQueryInfoKeyA 関数 (winreg.h)
指定したレジストリ キーに関する情報を取得します。
構文
LSTATUS RegQueryInfoKeyA(
[in] HKEY hKey,
[out, optional] LPSTR lpClass,
[in, out, optional] LPDWORD lpcchClass,
LPDWORD lpReserved,
[out, optional] LPDWORD lpcSubKeys,
[out, optional] LPDWORD lpcbMaxSubKeyLen,
[out, optional] LPDWORD lpcbMaxClassLen,
[out, optional] LPDWORD lpcValues,
[out, optional] LPDWORD lpcbMaxValueNameLen,
[out, optional] LPDWORD lpcbMaxValueLen,
[out, optional] LPDWORD lpcbSecurityDescriptor,
[out, optional] PFILETIME lpftLastWriteTime
);
パラメーター
[in] hKey
開いているレジストリ キーへのハンドル。 キーは、KEY_QUERY_VALUEアクセス権を使用して開かれている必要があります。 詳細については、「 レジストリ キーのセキュリティとアクセス権」を参照してください。
このハンドルは、 RegCreateKeyEx、 RegCreateKeyTransacted、 RegOpenKeyEx、または RegOpenKeyTransacted 関数によって返されます。 また、次のいずれかの 定義済みキーを指定することもできます。
HKEY_CLASSES_ROOT HKEY_CURRENT_CONFIG HKEY_CURRENT_USER HKEY_LOCAL_MACHINE HKEY_PERFORMANCE_DATA HKEY_USERS
[out, optional] lpClass
キーのユーザー定義クラスを受け取るバッファーへのポインター。 このパラメーターは、NULL でもかまいません。
[in, out, optional] lpcchClass
lpClass パラメーターが指すバッファーのサイズを文字数で指定する変数へのポインター。
サイズには、終端の null 文字を含める必要があります。 関数が戻るときに、この変数にはバッファーに格納されているクラス文字列のサイズが含まれます。 返されるカウントには、終端の null 文字は含まれません。 バッファーが十分な大きさでない場合、関数は ERROR_MORE_DATAを返し、変数には終端の null 文字をカウントせずに文字列のサイズ (文字数) が含まれます。
lpClass が NULL の場合、lpcClass は NULL にすることができます。
lpClass パラメーターが有効なアドレスであるのに、lpcClass パラメーターが NULL でない場合、関数は ERROR_INVALID_PARAMETERを返します。
lpReserved
このパラメーターは予約されており、 NULL である必要があります。
[out, optional] lpcSubKeys
指定したキーに含まれるサブキーの数を受け取る変数へのポインター。 このパラメーターは、NULL でもかまいません。
[out, optional] lpcbMaxSubKeyLen
名前が最も長いキーのサブキーのサイズを ANSI 文字で受け取る変数へのポインター。終端の null 文字は含まれません。 このパラメーターは、NULL でもかまいません。
[out, optional] lpcbMaxClassLen
サブキー クラスを指定する最長の文字列のサイズを ANSI 文字で受け取る変数へのポインター。 返されるカウントには、終端の null 文字は含まれません。 このパラメーターは、NULL でもかまいません。
[out, optional] lpcValues
キーに関連付けられている値の数を受け取る変数へのポインター。 このパラメーターは、NULL でもかまいません。
[out, optional] lpcbMaxValueNameLen
キーの最長値名のサイズを ANSI 文字で受け取る変数へのポインター。 サイズには、終端の null 文字は含まれません。 このパラメーターは、NULL でもかまいません。
[out, optional] lpcbMaxValueLen
キーの値の中で最も長いデータ コンポーネントのサイズをバイト単位で受け取る変数へのポインター。 このパラメーターは、NULL でもかまいません。
[out, optional] lpcbSecurityDescriptor
キーのセキュリティ記述子のサイズをバイト単位で受け取る変数へのポインター。 このパラメーターは、NULL でもかまいません。
[out, optional] lpftLastWriteTime
最後の書き込み時刻を受け取る FILETIME 構造体へのポインター。 このパラメーターは、NULL でもかまいません。
この関数は、 FILETIME 構造体のメンバーを設定して、キーまたはその値エントリのいずれかが最後に変更されたことを示します。
戻り値
関数が成功した場合、戻り値は ERROR_SUCCESS です。
関数が失敗した場合、戻り値は システム エラー コードです。
lpClass バッファーが小さすぎてクラスの名前を受け取れない場合、関数は ERROR_MORE_DATAを返します。
注釈
注意
従来のバージョンの Windows では、この API は kernel32.dll によっても公開されます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | winreg.h (Windows.h を含む) |
Library | Advapi32.lib |
[DLL] | Advapi32.dll |