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 提供的 KINTERRUPT 或 IO_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.InterruptObject 和 ConnectionContext.InterruptMessageTable 将值指定为指向 KINTERRUPT 或 IO_INTERRUPT_MESSAGE_INFO 结构的指针。
ConnectionContext.Generic
指向未指定类型的数据结构的指针。
ConnectionContext.InterruptObject
指向 KINTERRUPT 结构的指针。
ConnectionContext.InterruptMessageTable
指向 IO_INTERRUPT_MESSAGE_INFO 结构的指针。
要求
要求 | 价值 |
---|---|
标头 | wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h) |