[この機能は、予告なしに Windows から変更または削除される場合があります。 ]
レジストリ キーまたはそのサブキーのいずれかが変更されたときに通知を要求します。
構文
__kernel_entry NTSTATUS NtNotifyChangeMultipleKeys(
[in] HANDLE MasterKeyHandle,
[in, optional] ULONG Count,
[in, optional] OBJECT_ATTRIBUTES [] SubordinateObjects,
[in, optional] HANDLE Event,
[in, optional] PIO_APC_ROUTINE ApcRoutine,
[in, optional] PVOID ApcContext,
[out] PIO_STATUS_BLOCK IoStatusBlock,
[in] ULONG CompletionFilter,
[in] BOOLEAN WatchTree,
[out, optional] PVOID Buffer,
[in] ULONG BufferSize,
[in] BOOLEAN Asynchronous
);
パラメーター
[in] MasterKeyHandle
開いているキーのハンドル。 ハンドルは、 KEY_NOTIFY アクセス権で開く必要があります。
[in, optional] Count
SubordinateObjects パラメーターで指定されたキー オブジェクトの数。 このパラメーターは 1 である必要があります。
[in, optional] SubordinateObjects
キーごとに 1 つずつ、 OBJECT_ATTRIBUTES 構造体の配列へのポインター。 この配列には 1 つの OBJECT_ATTRIBUTES 構造体を含めることができます。 MasterKeyHandle キーと同じハイブ内のキーにすることはできません。
[in, optional] Event
呼び出し元によって作成されたイベントのハンドル。 Event が NULL でない場合、呼び出し元は操作が成功するまで待機し、その時点でイベントが通知されます。
[in, optional] ApcRoutine
呼び出し元によって提供される非同期プロシージャ 呼び出し (APC) 関数へのポインター。 ApcRoutine が NULL でない場合、指定された APC 関数は操作の完了後に実行されます。 ZwNotifyChangeMultipleKeys バリアントの ApcRoutine の代わりに、WORK_QUEUE_ITEMを指定する必要があります。
[in, optional] ApcContext
APC 関数の呼び出し元によって提供されるコンテキストへのポインター。 この値は、実行時に APC 関数に渡されます。 非同期パラメーターは TRUE である必要があります。 ApcContext が指定されている場合、Event パラメーターは NULL である必要があります。 ZwNotifyChangeMultipleKeys バリアントの ApcContext の代わりに、WORK_QUEUE_TYPEを指定する必要があります。
[out] IoStatusBlock
最終的な状態と操作に関する情報を含む IO_STATUS_BLOCK 構造体へのポインター。 データを返す呼び出しが成功した場合、Buffer パラメーターに書き込まれたバイト数は、IO_STATUS_BLOCK構造体の Information メンバーに指定されます。
[in] CompletionFilter
通知をトリガーする操作のビットマップ。 このパラメーターには、次のフラグを 1 つ以上指定できます。
[in] WatchTree
このパラメーターが TRUE の場合、呼び出し元には、指定したキーのすべてのサブキーへの変更が通知されます。 このパラメーターが FALSE の場合、呼び出し元には、指定したキーの変更についてのみ通知されます。
[out, optional] Buffer
システム用に予約されています。 このパラメーターは NULL する必要があります。
[in] BufferSize
システム用に予約されています。 このパラメーターは 0 にする必要があります。
[in] Asynchronous
このパラメーターが TRUE の場合、関数はすぐに返されます。 このパラメーターが FALSE の場合、関数は指定されたイベントが発生するまで戻りません。
戻り値
NTSTATUS またはエラー コードを返します。
非同期パラメーターが TRUE で、指定したイベントがまだ発生していない場合、関数はSTATUS_PENDINGを返します。
NTSTATUS エラー コードの形式と重要性は、WDK で使用できる Ntstatus.h ヘッダー ファイルに記載されており、WDK ドキュメントで説明されています。
注釈
この関数には、関連付けられたヘッダー ファイルがありません。 LoadLibrary 関数と GetProcAddress 関数を使用して、Ntdll.dllに動的にリンクすることもできます。
要求事項
| 要件 | 価値 |
|---|---|
| ターゲット プラットフォーム の | ウィンドウズ |
| ヘッダー | winternl.h |
| 図書館 | ntdll.lib |
| DLL | ntdll.dll |