IO_DISCONNECT_INTERRUPT_PARAMETERS结构(wdm.h)

IO_DISCONNECT_INTERRUPT_PARAMETERS 结构描述使用 IoDisconnectInterruptEx注销中断处理例程时的参数。

语法

typedef struct _IO_DISCONNECT_INTERRUPT_PARAMETERS {
  ULONG Version;
  union {
    PVOID                      Generic;
    PKINTERRUPT                InterruptObject;
    PIO_INTERRUPT_MESSAGE_INFO InterruptMessageTable;
  } ConnectionContext;
} IO_DISCONNECT_INTERRUPT_PARAMETERS, *PIO_DISCONNECT_INTERRUPT_PARAMETERS;

成员

Version

指定要由 IoDisconnectInterruptEx执行的特定作。 版本 的值取决于 Parameters->版本 指定的值,IoConnectInterruptEx 注册中断交控例程,如下表所示。

IO_CONNECT_INTERRUPT_PARAMETERS版本值 IO_DISCONNECT_INTERRUPT_PARAMETERS版本值
CONNECT_LINE_BASED CONNECT_LINE_BASED
CONNECT_MESSAGE_BASED IoConnectInterruptEx输出 版本 的值。
CONNECT_FULLY_SPECIFIED CONNECT_FULLY_SPECIFIED

ConnectionContext

指向连接中断时由 IoConnectInterruptEx 提供的 KINTERRUPTIO_INTERRUPT_MESSAGE_INFO 结构的指针。 ConnectionContext 的值取决于为 Parameters指定的值 ->版本 时,IoConnectInterruptEx 注册中断处理例程,如下表所示。

IoConnectInterruptEx 版本值 IoDisconnectInterruptEx ConnectionContext 值
CONNECT_LINE_BASED 存储在 LineBased.InterruptObject中的值。
CONNECT_MESSAGE_BASED 存储在 messageBased.ConnectionContext 中的值。
CONNECT_FULLY_SPECIFIED 存储在 FullySpecified.InterruptObject中的值。
 

为了最大程度地减少强制转换,ConnectionContext 定义为联合。 使用 ConnectionContext.Generic 将值指定为 PVOID。 使用 ConnectionContext.InterruptObjectConnectionContext.InterruptMessageTable 将值指定为指向 KINTERRUPTIO_INTERRUPT_MESSAGE_INFO 结构的指针。

ConnectionContext.Generic

指向未指定类型的数据结构的指针。

ConnectionContext.InterruptObject

指向 KINTERRUPT 结构的指针。

ConnectionContext.InterruptMessageTable

指向 IO_INTERRUPT_MESSAGE_INFO 结构的指针。

要求

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

另请参阅

IO_INTERRUPT_MESSAGE_INFO

IoDisconnectInterruptEx

KINTERRUPT