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 を定義します。 encoding-neutral エイリアスの使用を encoding-neutral ではないコードと混在すると、コンパイル エラーまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | winreg.h (Windows.h を含む) |
Library | Advapi32.lib |
[DLL] | Advapi32.dll |