Freigeben über


TARGET_DEVICE_CUSTOM_NOTIFICATION Struktur (wdm.h)

Die TARGET_DEVICE_CUSTOM_NOTIFICATION-Struktur beschreibt ein benutzerdefiniertes Geräteereignis.

Syntax

typedef struct _TARGET_DEVICE_CUSTOM_NOTIFICATION {
  USHORT       Version;
  USHORT       Size;
  GUID         Event;
  PFILE_OBJECT FileObject;
  LONG         NameBufferOffset;
  UCHAR        CustomDataBuffer[1];
} TARGET_DEVICE_CUSTOM_NOTIFICATION, *PTARGET_DEVICE_CUSTOM_NOTIFICATION;

Angehörige

Version

Gibt die Version der Datenstruktur an, derzeit 1.

Size

Gibt die Größe der Struktur in Bytes an, einschließlich der ersten drei Standardmber sowie der ereignisspezifischen Daten.

Event

Gibt eine GUID an, die das Ereignis identifiziert. GUIDs für benutzerdefinierte Ereignisbenachrichtigungen werden von den Komponenten definiert, die diesen Mechanismus verwenden.

FileObject

Zeigen Sie auf ein Dateiobjekt für das Gerät.

NameBufferOffset

Gibt den Offset von Anfang CustomDataBuffer in Byte an, wo Der Text beginnt. Ein Wert von -1 gibt an, dass kein Text vorhanden ist.

CustomDataBuffer[1]

Ein Puffer mit variabler Länge, optional mit Binären Daten am Anfang des Puffers, gefolgt von einem optionalen Textpuffer (wortbündig).

Bemerkungen

Kernelmoduskomponenten verwenden diese Struktur für benutzerdefinierte Ereignisbenachrichtigungen: um ein benutzerdefiniertes Ereignis zu signalisieren (IoReportTargetDeviceChange[asynchrone]) und beim Behandeln eines benutzerdefinierten Ereignisses (in einer Benachrichtigungsrückrufroutine).

Diese Struktur enthält sowohl einen Binären Datenpuffer mit variabler Länge als auch einen Unicode-Textpuffer mit variabler Länge. Der NameBufferOffset- muss angeben, wo der Textpuffer beginnt, sodass die Daten im entsprechenden Format (ANSI oder Unicode) an Benutzermodusanwendungen übermittelt werden können, die für handlebasierte Benachrichtigungen mit RegisterDeviceNotificationregistriert sind. Siehe auch RegisterDeviceNotification.

Anforderungen

Anforderung Wert
Header- wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)

Siehe auch

IoRegisterPlugPlayNotification-

IoReportTargetDeviceChange

IoReportTargetDeviceChangeAsynchronous

RegisterDeviceNotification