структура 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[асинхронных]) и при обработке настраиваемого события (в подпрограмме обратного вызова уведомлений).
Эта структура поддерживает буфер двоичных данных переменной длины и текстовый буфер юникода переменной длины. NameBufferOffset должен указывать, где начинается текстовый буфер, чтобы данные могли быть доставлены в соответствующем формате (ANSI или Юникод), зарегистрированных для уведомлений на основе дескриптора с RegisterDeviceNotification. См. также RegisterDeviceNotification.
Требования
Требование | Ценность |
---|---|
заголовка | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
См. также
IoRegisterPlugPlayNotification