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 IoConnectInterruptExVersion 출력 값입니다.
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.InterruptObjectConnectionContext.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 포함)

추가 정보

IO_INTERRUPT_MESSAGE_INFO

IoDisconnectInterruptEx

KINTERRUPT