Freigeben über


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.

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 am Sicherheitsdeskriptor 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 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

Weitere Informationen

Sicherheits- und Zugriffsrechte für Registrierungsschlüssel