RegQueryMultipleValuesW 関数 (winreg.h)
開いているレジストリ キーに関連付けられている値の名前の一覧の型とデータを取得します。
構文
LSTATUS RegQueryMultipleValuesW(
[in] HKEY hKey,
[out] PVALENTW val_list,
[in] DWORD num_vals,
[out, optional] LPWSTR lpValueBuf,
[in, out, optional] LPDWORD ldwTotsize
);
パラメーター
[in] hKey
開いているレジストリ キーへのハンドル。 キーは、KEY_QUERY_VALUEアクセス権で開かれている必要があります。 詳細については、「レジストリ キーのセキュリティとアクセス権のを
このハンドルは、
- HKEY_CLASSES_ROOT
- HKEY_CURRENT_CONFIG
- HKEY_CURRENT_USER
- HKEY_LOCAL_MACHINE
- HKEY_PERFORMANCE_DATA
- HKEY_USERS
[out] val_list
1 つ以上の値エントリ 記述する VALENT 構造体の配列へのポインター。 入力時に、各構造体の ve_valuename メンバーには、取得する値の名前へのポインターが含まれている必要があります。 指定した値のいずれかが指定したキーに存在しない場合、関数は失敗します。
関数が成功した場合、配列の各要素には、指定した値の情報が含まれます。
[in] num_vals
val_list 配列内の要素の数。
[out, optional] lpValueBuf
バッファーへのポインター。 関数が成功した場合、バッファーは各値のデータを受け取ります。
lpValueBuf
[in, out, optional] ldwTotsize
lpValueBuf パラメーターが指すバッファーのサイズをバイト単位で指定する変数へのポインター。 関数が成功した場合、ldwTotsize
戻り値
関数が成功した場合、戻り値はERROR_SUCCESS。
関数が失敗した場合、戻り値は次のいずれかのエラー コードになります。
リターン コード | 形容 |
---|---|
|
RegQueryMultipleValues は、動的キーのプロバイダーをインスタンス化またはアクセスできません。 |
|
lpValueBuf |
|
要求されたデータの合計サイズ ( |
備考
RegQueryMultipleValues 関数を使用すると、アプリケーションは静的キーまたは動的キーの 1 つ以上の値に対してクエリを実行できます。 ターゲット キーが静的キーの場合、システムはすべての値をアトミック方式で提供します。 過剰なシリアル化を防ぐために、関数によって返される集計データは 1 MB を超えることはできません。
ターゲット キーが動的キーの場合、プロバイダーはアトミックな方法ですべての値を提供する必要があります。 つまり、プロバイダーは結果バッファーを同期的に入力する必要があります。これにより、過剰なシリアル化を回避しながら、バッファー内のすべての値の一貫性のあるビューが提供されます。 プロバイダーは、この関数のアトミック呼び出し中に最大 1 メガバイトの合計出力データを提供できます。
RegQueryMultipleValues はリモートでサポートされています。つまり、関数に渡される hKey パラメーターは、リモート コンピューターを参照できます。
手記
winreg.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして RegQueryMultipleValues を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされる最小サーバー | Windows 2000 Server [デスクトップ アプリのみ] |
ターゲット プラットフォーム の |
ウィンドウズ |
ヘッダー | winreg.h (Windows.h を含む) |
ライブラリ | Advapi32.lib |
DLL | Advapi32.dll |
関連項目
レジストリ関数 を