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 버전 값 |
---|---|
CONNECT_LINE_BASED | CONNECT_LINE_BASED |
CONNECT_MESSAGE_BASED | IoConnectInterruptEx의 Version 출력 값입니다. |
CONNECT_FULLY_SPECIFIED | CONNECT_FULLY_SPECIFIED |
ConnectionContext
인터럽트가 연결되었을 때 IoConnectInterruptEx에서 제공한 KINTERRUPT 또는 IO_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.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 포함) |