Поделиться через


структура 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

IoReportTargetDeviceChange

IoReportTargetDeviceChangeAsynchronous

RegisterDeviceNotification