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;

Membri

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 dove inizia il testo. Un valore di -1 indica che non è presente 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).

Osservazioni

I componenti in modalità kernel usano questa struttura per la notifica degli eventi personalizzati: per segnalare un evento personalizzato (IoReportTargetDeviceChange[Asincrona]) e quando si gestisce 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. Il 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.

Fabbisogno

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

Vedere anche

IoRegisterPlugPlayNotification

IoReportTargetDeviceChange

IoReportTargetDeviceChangeAsynchronous

RegisterDeviceNotification