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;

Member

Version

Gibt die Version der Datenstruktur an, derzeit 1.

Size

Gibt die Größe der Struktur in Byte an, einschließlich der ersten drei Standardmember und 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

Zeiger auf ein Dateiobjekt für das Gerät.

NameBufferOffset

Gibt den Offset in Bytes ab dem Anfang von CustomDataBuffer an, an dem der Text beginnt. Der Wert -1 gibt an, dass kein Text vorhanden ist.

CustomDataBuffer[1]

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

Hinweise

Kernelmoduskomponenten verwenden diese Struktur für benutzerdefinierte Ereignisbenachrichtigungen: zum Signalisieren eines benutzerdefinierten Ereignisses (IoReportTargetDeviceChange[Asynchronous]) und bei der Behandlung 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, damit die Daten im entsprechenden Format (ANSI oder Unicode) an Benutzermodusanwendungen übermittelt werden können, die für die handle-basierte Benachrichtigung mit RegisterDeviceNotification registriert sind. Siehe auch RegisterDeviceNotification.

Anforderungen

Anforderung Wert
Header wdm.h (einschließlich Wdm.h, Ntddk.h, Ntifs.h)

Weitere Informationen

IoRegisterPlugPlayNotification

IoReportTargetDeviceChange

IoReportTargetDeviceChangeAsynchronous

RegisterDeviceNotification