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 执行的特定操作。 Version 的值取决于 IoConnectInterruptEx 注册中断处理例程时为 Parameters-Version> 指定的值,如下表所示。

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

ConnectionContext

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

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