Freigeben über


NtNotifyChangeMultipleKeys-Funktion (winternl.h)

[Diese Funktion kann ohne weitere Ankündigung von Windows geändert oder aus Windows entfernt werden. ]

Fordert eine Benachrichtigung an, wenn sich ein Registrierungsschlüssel oder eines 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
);

Die Parameter

[in] MasterKeyHandle

Ein Handle für eine geöffnete Taste. Das Handle muss mit dem KEY_NOTIFY Zugriffsrecht geöffnet werden.

[in, optional] Count

Die Anzahl der Schlüsselobjekte, die im Parameter "SubordinateObjects " bereitgestellt werden. Dieser Parameter muss 1 sein.

[in, optional] SubordinateObjects

Zeigen Sie auf ein Array von OBJECT_ATTRIBUTES Strukturen, eines für jeden Schlüssel. Dieses Array kann eine OBJECT_ATTRIBUTES Struktur enthalten und darf kein Schlüssel in derselben Struktur wie der MasterKeyHandle-Schlüssel sein.

[in, optional] Event

Ein Handle zu einem ereignis, das vom Aufrufer erstellt wurde. Wenn das Ereignis nicht NULL ist, wartet der Aufrufer, bis der Vorgang erfolgreich ist, zu dem Zeitpunkt, zu dem das Ereignis signalisiert wird.

[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. Eine WORK_QUEUE_ITEM muss anstelle von ApcRoutine in der Variante ZwNotifyChangeMultipleKeys bereitgestellt werden.

[in, optional] ApcContext

Ein Zeiger auf einen Kontext, der vom Aufrufer für die APC-Funktion bereitgestellt wird. Dieser Wert wird bei der Ausführung an die APC-Funktion übergeben. Der asynchrone Parameter muss TRUE sein. Wenn ApcContext angegeben ist, muss der Parameter "Event " NULL sein. Eine WORK_QUEUE_TYPE muss anstelle von ApcContext in der Variante ZwNotifyChangeMultipleKeys bereitgestellt werden.

[out] IoStatusBlock

Ein Zeiger auf eine IO_STATUS_BLOCK Struktur, die den endgültigen Status und Informationen zum Vorgang enthält. Bei erfolgreichen Aufrufen, die Daten zurückgeben, wird die Anzahl der Bytes, die in den Parameter Buffer geschrieben wurden, im Information-Element der IO_STATUS_BLOCK-Struktur angegeben.

[in] CompletionFilter

Eine Bitmap von Vorgängen, die Benachrichtigung auslösen. Dieser Parameter kann eine oder mehrere der folgenden Flags sein.

Wert Bedeutung
REG_NOTIFY_CHANGE_NAME
Benachrichtigen Sie den Aufrufer, wenn ein Unterschlüssel hinzugefügt oder gelöscht wird.
REG_NOTIFY_CHANGE_ATTRIBUTES
Benachrichtigen Sie den Aufrufer über Änderungen an den Attributen des Schlüssels, z. B. die Sicherheitsbeschreibungsinformationen.
REG_NOTIFY_CHANGE_LAST_SET
Benachrichtigen Sie den Aufrufer über Änderungen an einem Wert des Schlüssels. Dies kann das Hinzufügen oder Löschen eines Werts oder das Ändern eines vorhandenen Werts umfassen.
REG_NOTIFY_CHANGE_SECURITY
Benachrichtigen Sie den Aufrufer über Änderungen an der Sicherheitsbeschreibung des Schlüssels.

[in] WatchTree

Wenn dieser Parameter TRUE ist, wird der Aufrufer über Änderungen an allen Unterschlüsseln des angegebenen Schlüssels benachrichtigt. Wenn dieser Parameter FALSCH ist, wird der Aufrufer nur über Änderungen am angegebenen Schlüssel benachrichtigt.

[out, optional] Buffer

Reserviert für die Systemverwendung. Dieser Parameter muss NULL-sein.

[in] BufferSize

Reserviert für die Systemverwendung. Dieser Parameter muss null sein.

[in] Asynchronous

Wenn dieser Parameter WAHR ist, gibt die Funktion sofort zurück. Wenn dieser Parameter FALSE ist, wird die Funktion erst zurückgegeben, wenn das angegebene Ereignis auftritt.

Rückgabewert

Gibt einen NTSTATUS - oder Fehlercode zurück.

Wenn der Parameter "Asynchron"WAHR ist und das angegebene Ereignis noch nicht aufgetreten ist, gibt die Funktion STATUS_PENDING zurück.

Die Formulare und die Bedeutung von NTSTATUS-Fehlercodes sind in der in der WDK verfügbaren Ntstatus.h-Headerdatei aufgeführt und werden in der WDK-Dokumentation beschrieben.

Bemerkungen

Diese Funktion hat keine zugeordnete Headerdatei. Sie können auch die Funktionen LoadLibrary und GetProcAddress verwenden, um dynamisch mit Ntdll.dllzu verknüpfen.

Anforderungen

Anforderung Wert
Zielplattform Fenster
Überschrift winternl.h
Bibliothek ntdll.lib
DLL ntdll.dll

Siehe auch

Registrierungsschlüsselsicherheit und Zugriffsberechtigungen