TARGET_DEVICE_CUSTOM_NOTIFICATION structure (wdm.h)

La structure TARGET_DEVICE_CUSTOM_NOTIFICATION décrit un événement d’appareil personnalisé.

Syntaxe

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;

Membres

Version

Spécifie la version de la structure de données, actuellement 1.

Size

Spécifie la taille de la structure, en octets, y compris les trois premiers membres standard plus les données spécifiques à l’événement.

Event

Spécifie un GUID identifiant l’événement. Les GUID pour la notification d’événement personnalisé sont définis par les composants qui utilisent ce mécanisme.

FileObject

Pointeur vers un objet fichier pour l’appareil.

NameBufferOffset

Spécifie le décalage, en octets, du début de CustomDataBuffer où commence le texte. La valeur -1 indique qu’il n’y a pas de texte.

CustomDataBuffer[1]

Mémoire tampon de longueur variable, contenant éventuellement des données binaires au début de la mémoire tampon, suivie d’une mémoire tampon de texte facultative (alignée sur les mots).

Remarques

Les composants en mode noyau utilisent cette structure pour la notification d’événement personnalisée : pour signaler un événement personnalisé (IoReportTargetDeviceChange[Asynchrone]) et lors de la gestion d’un événement personnalisé (dans une routine de rappel de notification).

Cette structure comprend à la fois une mémoire tampon de données binaires de longueur variable et une mémoire tampon de texte Unicode de longueur variable. NameBufferOffset doit indiquer où commence la mémoire tampon de texte, afin que les données puissent être remises dans le format approprié (ANSI ou Unicode) aux applications en mode utilisateur qui se sont inscrites pour la notification basée sur le handle auprès de RegisterDeviceNotification. Voir aussi RegisterDeviceNotification.

Configuration requise

Condition requise Valeur
En-tête wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)

Voir aussi

IoRegisterPlugPlayNotification

IoReportTargetDeviceChange

IoReportTargetDeviceChangeAsynchronous

RegisterDeviceNotification