NtNotifyChangeMultipleKeys-Funktion (winternl.h)
[Diese Funktion kann ohne weitere Ankündigung geändert oder aus Windows entfernt werden. ]
Fordert eine Benachrichtigung an, wenn sich ein Registrierungsschlüssel oder einer seiner Unterschlüssel ändert.
Syntax
__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
);
Parameter
[in] MasterKeyHandle
Ein Handle für einen geöffneten Schlüssel. Das Handle muss mit dem Zugriffsrecht KEY_NOTIFY geöffnet werden.
[in, optional] Count
Die Anzahl der Unterschlüssel unter dem Schlüssel, der durch den MasterKeyHandle-Parameter angegeben wird. Dieser Parameter muss 1 sein.
[in, optional] SubordinateObjects
Zeiger auf ein Array von OBJECT_ATTRIBUTES Strukturen, eine für jeden Unterschlüssel. Dieses Array kann eine OBJECT_ATTRIBUTES-Struktur enthalten.
[in, optional] Event
Ein Handle für ein vom Aufrufer erstelltes Ereignis. Wenn Event nicht NULL ist, wartet der Aufrufer, bis der Vorgang erfolgreich ist. Zu diesem Zeitpunkt wird das Ereignis signalisiert.
[in, optional] ApcRoutine
Ein Zeiger auf eine asynchrone Prozeduraufruffunktion (APC), die vom Aufrufer bereitgestellt wird. Wenn ApcRoutine nicht NULL ist, wird die angegebene APC-Funktion nach Abschluss des Vorgangs ausgeführt.
[in, optional] ApcContext
Ein Zeiger auf einen Kontext, der vom Aufrufer für seine APC-Funktion bereitgestellt wird. Dieser Wert wird bei der Ausführung an die APC-Funktion übergeben. Der Asynchronous-Parameter muss TRUE sein. Wenn ApcContext angegeben ist, muss der Event-ParameterNULL sein.
[out] IoStatusBlock
Ein Zeiger auf eine IO_STATUS_BLOCK-Struktur, die die endgültige status und Informationen zum Vorgang enthält. Für erfolgreiche Aufrufe, die Daten zurückgeben, wird die Anzahl der Bytes, die in den Buffer-Parameter geschrieben werden, im Information-Member der IO_STATUS_BLOCK-Struktur angegeben.
[in] CompletionFilter
Eine Bitmap mit Vorgängen, die eine Benachrichtigung auslösen. Dieser Parameter kann mindestens eins der folgenden Flags sein.
[in] WatchTree
Wenn dieser Parameter TRUE ist, wird der Aufrufer über Änderungen an allen Unterschlüsseln des angegebenen Schlüssels benachrichtigt. Wenn dieser Parameter FALSE ist, wird der Aufrufer nur über Änderungen am angegebenen Schlüssel benachrichtigt.
[out, optional] Buffer
Ist für das System reserviert. Dieser Parameter muss NULL sein.
[in] BufferSize
Ist für das System reserviert. Dieser Parameter muss null sein.
[in] Asynchronous
Wenn dieser Parameter TRUE ist, gibt die Funktion sofort zurück. Wenn dieser Parameter FALSE ist, gibt die Funktion erst zurück, wenn das angegebene Ereignis eintritt.
Rückgabewert
Gibt einen NTSTATUS - oder Fehlercode zurück.
Wenn der Asynchronous-ParameterTRUE ist und das angegebene Ereignis noch nicht aufgetreten ist, gibt die Funktion STATUS_PENDING zurück.
Die Formen und die Bedeutung von NTSTATUS-Fehlercodes sind in der Im WDK verfügbaren Ntstatus.h-Headerdatei aufgeführt und in der WDK-Dokumentation beschrieben.
Hinweise
Diese Funktion verfügt über keine zugeordnete Headerdatei. Sie können auch die Funktionen LoadLibrary und GetProcAddress verwenden, um dynamisch mit Ntdll.dll zu verknüpfen.
Anforderungen
Zielplattform | Windows |
Kopfzeile | winternl.h |
Bibliothek | ntdll.lib |
DLL | ntdll.dll |