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