структура TARGET_DEVICE_CUSTOM_NOTIFICATION (wdm.h)
Структура TARGET_DEVICE_CUSTOM_NOTIFICATION описывает пользовательское событие устройства.
Синтаксис
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
Указывает версию структуры данных, в настоящее время 1.
Size
Задает размер структуры в байтах, включая первые три стандартных элемента, а также данные, относящиеся к событиям.
Event
Указывает GUID, идентифицирующие событие. Идентификаторы GUID для уведомления о пользовательских событиях определяются компонентами, которые используют этот механизм.
FileObject
Указатель на файловый объект для устройства.
NameBufferOffset
Указывает смещение (в байтах) от начала CustomDataBuffer , где начинается текст. Значение -1 указывает на отсутствие текста.
CustomDataBuffer[1]
Буфер переменной длины, при необходимости содержащий двоичные данные в начале буфера, за которым следует необязательный текстовый буфер (выровнен по словам).
Комментарии
Компоненты режима ядра используют эту структуру для уведомления о пользовательских событиях: для сигнализации пользовательского события (IoReportTargetDeviceChange[Asynchronous]) и при обработке пользовательского события (в подпрограмме обратного вызова уведомления).
Эта структура вмещает как буфер двоичных данных переменной длины, так и текстовый буфер Юникода переменной длины. NameBufferOffset должен указывать, с чего начинается текстовый буфер, чтобы данные могли быть доставлены в соответствующем формате (ANSI или Юникод) в приложения пользовательского режима, зарегистрированные для уведомления на основе дескрипторов с помощью RegisterDeviceNotification. См. также RegisterDeviceNotification.
Требования
Требование | Значение |
---|---|
Заголовок | wdm.h (включая Wdm.h, Ntddk.h, Ntifs.h) |
См. также раздел
IoRegisterPlugPlayNotification