Condividi tramite


struttura TARGET_DEVICE_CUSTOM_NOTIFICATION (wdm.h)

La struttura TARGET_DEVICE_CUSTOM_NOTIFICATION descrive un evento del dispositivo personalizzato.

Sintassi

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;

Members

Version

Specifica la versione della struttura dei dati, attualmente 1.

Size

Specifica le dimensioni della struttura, in byte, inclusi i primi tre membri standard più i dati specifici dell'evento.

Event

Specifica un GUID che identifica l'evento. I GUID per la notifica degli eventi personalizzati sono definiti dai componenti che usano questo meccanismo.

FileObject

Puntatore a un oggetto file per il dispositivo.

NameBufferOffset

Specifica l'offset, in byte, dall'inizio di CustomDataBuffer in cui inizia il testo. Il valore -1 indica che non è presente alcun testo.

CustomDataBuffer[1]

Buffer a lunghezza variabile, contenente facoltativamente dati binari all'inizio del buffer, seguito da un buffer di testo facoltativo (allineato a parole).

Commenti

I componenti in modalità kernel usano questa struttura per la notifica degli eventi personalizzata: per segnalare un evento personalizzato (IoReportTargetDeviceChange[Asincrono]) e per gestire un evento personalizzato (in una routine di callback di notifica).

Questa struttura supporta sia un buffer di dati binari a lunghezza variabile che un buffer di testo Unicode a lunghezza variabile. NameBufferOffset deve indicare dove inizia il buffer di testo, in modo che i dati possano essere recapitati nel formato appropriato (ANSI o Unicode) alle applicazioni in modalità utente registrate per la notifica basata su handle con RegisterDeviceNotification. Vedere anche RegisterDeviceNotification.

Requisiti

Requisito Valore
Intestazione wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)

Vedi anche

IoRegisterPlugPlayNotification

IoReportTargetDeviceChange

IoReportTargetDeviceChangeAsynchronous

RegisterDeviceNotification