次の方法で共有


RegQueryInfoKeyW 関数 (winreg.h)

指定したレジストリ キーに関する情報を取得します。

構文

LSTATUS RegQueryInfoKeyW(
  [in]                HKEY      hKey,
  [out, optional]     LPWSTR    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

Unicode 文字で最も長い名前のキーのサブキーのサイズを受け取る変数へのポインター。終端 null 文字は含まれません。 このパラメーターは NULLできます。

[out, optional] lpcbMaxClassLen

サブキー クラスを指定する最長の文字列のサイズを Unicode 文字で受け取る変数へのポインター。 返されるカウントには、終端 null 文字は含まれません。 このパラメーターは NULLできます。

[out, optional] lpcValues

キーに関連付けられている値の数を受け取る変数へのポインター。 このパラメーターは NULLできます。

[out, optional] lpcbMaxValueNameLen

キーの最長値名のサイズを Unicode 文字で受け取る変数へのポインター。 このサイズには、終端 null 文字は含まれません。 このパラメーターは NULLできます。

[out, optional] lpcbMaxValueLen

キーの値の中で最も長いデータ コンポーネントのサイズをバイト単位で受け取る変数へのポインター。 このパラメーターは NULLできます。

[out, optional] lpcbSecurityDescriptor

キーのセキュリティ記述子のサイズをバイト単位で受け取る変数へのポインター。 このパラメーターは NULLできます。

[out, optional] lpftLastWriteTime

最後の書き込み時刻を受け取る FILETIME 構造体へのポインター。 このパラメーターは NULLできます。

この関数は、FILETIME 構造体のメンバーを、キーまたはその値エントリのいずれかが最後に変更されたことを示すように設定します。

戻り値

関数が成功した場合、戻り値はERROR_SUCCESS。

関数が失敗した場合、戻り値はシステム エラー コードです。

lpClass バッファーが小さすぎてクラスの名前を受け取れなければ、関数はERROR_MORE_DATAを返します。

備考

手記

winreg.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして RegQueryInfoKey を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。

必要条件

要件 価値
サポートされる最小クライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされる最小サーバー Windows 2000 Server [デスクトップ アプリのみ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー winreg.h (Windows.h を含む)
ライブラリ Advapi32.lib
DLL Advapi32.dll

関連項目

FILETIME を する

RegDeleteKey を する

RegEnumKeyEx を する

RegEnumValue を する

RegQueryValueEx の

レジストリ関数 を する

レジストリの概要