structure TARGET_DEVICE_CUSTOM_NOTIFICATION (wdm.h)
La structure TARGET_DEVICE_CUSTOM_NOTIFICATION décrit un événement d’appareil personnalisé.
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;
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 ainsi que 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ée sont définis par les composants qui utilisent ce mécanisme.
FileObject
Pointeur vers un objet de fichier pour l’appareil.
NameBufferOffset
Spécifie le décalage, en octets, à partir du début de CustomDataBuffer où commence le texte. Une valeur de -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 le mot).
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 s’adapte à la fois à une mémoire tampon de données binaires de longueur variable et à une mémoire tampon de texte Unicode de longueur variable. Le NameBufferOffset doit indiquer où commence la mémoire tampon de texte, afin que les données puissent être remises au format approprié (ANSI ou Unicode) aux applications en mode utilisateur inscrites pour la notification basée sur le handle avec RegisterDeviceNotification. Voir également RegisterDeviceNotification.
Exigence | Valeur |
---|---|
d’en-tête | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
ioRegisterPlugPlayNotification