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[异步]),以及处理自定义事件(在通知回调例程中)。

此结构同时容纳可变长度的二进制数据缓冲区和可变长度 Unicode 文本缓冲区。 NameBufferOffset 必须指示文本缓冲区的开始位置,以便数据可以采用适当的格式(ANSI 或 Unicode)传送到通过 RegisterDeviceNotification注册的基于句柄的通知的用户模式应用程序。 另请参阅 RegisterDeviceNotification

要求

要求 价值
标头 wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h)

另请参阅

IoRegisterPlugPlayNotification

IoReportTargetDeviceChange

IoReportTargetDeviceChangeAsynchronous

RegisterDeviceNotification