次の方法で共有


IRegistryKey::QueryRegistryValues メソッド (portcls.h)

メソッドを使用すると、呼び出し元は QueryRegistryValues 1 回の呼び出しでレジストリから複数の値に対してクエリを実行できます。

構文

NTSTATUS QueryRegistryValues(
  [in]           PRTL_QUERY_REGISTRY_TABLE QueryTable,
  [in, optional] PVOID                     Context
);

パラメーター

[in] QueryTable

1 つ以上のRTL_QUERY_REGISTRY_TABLE構造体の配列へのポインター。 (この構造体については、「 RtlQueryRegistryValues」を参照してください)。各構造体は、呼び出し元がクエリを実行しているレジストリ エントリの値名とサブキー名を指定します。 各構造体には、呼び出し元が指定した QueryRoutine コールバックへの関数ポインターも含まれています。この QueryRegistryValues コールバックは、メソッドが対応するレジストリ エントリに関する情報を使用して呼び出します。 配列は、NULL である Name メンバーを持つ構造体で終了する必要があります。

[in, optional] Context

これは呼び出し元によって定義されたコンテキスト値です。 メソッドは QueryRegistryValues 、この値を呼び出しパラメーターとして各 QueryRoutine コールバックに渡します。 通常、コンテキスト値は、呼び出し元の QueryRoutine がアクセスするコンテキスト データを含む呼び出し元定義構造体へのポインターです。 コンテキスト値はポインター型 PVOID にキャストされますが、メソッドは QueryRegistryValues ポインターの検証を実行しません。

戻り値

QueryRegistryValues は、 QueryTable 全体の処理で呼び出しが成功した場合にSTATUS_SUCCESSを返します。 それ以外の場合、メソッドは適切なエラー コードを返します。 次の表は、考えられる戻り状態コードの一部を示しています。

リターン コード 説明
STATUS_INVALID_PARAMETER
メソッドに渡された QueryTable パラメーターが無効であることを示します。
STATUS_OBJECT_NAME_NOT_FOUND
いずれかの QueryTable エントリで指定されたオブジェクトがメソッドで見つからなかったことを示します。

注釈

このメソッドは、呼び出し元が指定したコールバック ルーチンを使用して、レジストリ エントリの一覧の値を列挙します。 成功した場合、 メソッドは、リスト内のすべてのコールバック ルーチンを呼び出した後に を返します。

QueryTable パラメーターは、RTL_QUERY_REGISTRY_TABLE構造体の配列を指します。 この構造体の最初のメンバーである QueryRoutine は、呼び出し元が指定したコールバック ルーチンへの関数ポインターです。 詳細については、「 RtlQueryRegistryValues」を参照してください。

要件

要件
対象プラットフォーム ユニバーサル
Header portcls.h (Portcls.h を含む)
IRQL PASSIVE_LEVEL

こちらもご覧ください

IRegistryKey

RtlQueryRegistryValues