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アクセス権を使用して開かれている必要があります。 詳細については、「 レジストリ キーのセキュリティとアクセス権」を参照してください。

このハンドルは、 RegCreateKeyExRegCreateKeyTransactedRegOpenKeyEx、または 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 文字をカウントせずに文字列のサイズ (文字数) が含まれます。

lpClassNULL の場合、lpcClassNULL にすることができます

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

関連項目

FILETIME

RegDeleteKey

RegEnumKeyEx

RegEnumValue

RegQueryValueEx

レジストリ関数

レジストリの概要