WUDF_INTERRUPT_CONFIG 구조체(wudfinterrupt.h)

[경고: UMDF 2는 UMDF의 최신 버전이며 UMDF 1을 대체합니다. 모든 새 UMDF 드라이버는 UMDF 2를 사용하여 작성해야 합니다. UMDF 1에 새 기능이 추가되지 않으며 최신 버전의 Windows 10 UMDF 1에 대한 지원이 제한됩니다. 유니버설 Windows 드라이버는 UMDF 2를 사용해야 합니다. 자세한 내용은 UMDF를 사용하여 시작 참조하세요.]

WUDF_INTERRUPT_CONFIG 구조에는 디바이스 인터럽트 구성 정보가 포함됩니다.

구문

typedef struct _WUDF_INTERRUPT_CONFIG {
  ULONG                           Size;
  WDF_TRI_STATE                   ShareVector;
  BOOLEAN                         AutomaticSerialization;
  PFN_WUDF_INTERRUPT_ISR          OnInterruptIsr;
  PFN_WUDF_INTERRUPT_ENABLE       OnInterruptEnable;
  PFN_WUDF_INTERRUPT_DISABLE      OnInterruptDisable;
  PFN_WUDF_INTERRUPT_WORKITEM     OnInterruptWorkItem;
  PCM_PARTIAL_RESOURCE_DESCRIPTOR InterruptRaw;
  PCM_PARTIAL_RESOURCE_DESCRIPTOR InterruptTranslated;
} WUDF_INTERRUPT_CONFIG, *PWUDF_INTERRUPT_CONFIG;

멤버

Size

이 구조체의 크기(바이트)입니다.

ShareVector

WDF_TRI_STATE 형식의 값입니다. 이 값이 WdfTrue이면 인터럽트 벡터를 공유할 수 있습니다. 값이 WdfFalse이면 인터럽트 벡터를 공유할 수 없습니다. 값이 WdfDefault이고 인터럽트가 수준 트리거되면 플러그 앤 플레이 관리자는 버스 드라이버의 값을 사용합니다. 값이 WdfDefault 이고 인터럽트가 수준 트리거되지 않은 경우 인터럽트 벡터를 공유할 수 없습니다.

AutomaticSerialization

TRUE인 경우 프레임워크가 인터럽트 개체의 OnInterruptWorkItem 콜백 함수 실행을 프레임워크의 콜백 동기화 기능을 사용하는 다른 콜백 함수와 동기화한다는 것을 나타내는 부울 값입니다. 자세한 내용은 설명 부분을 참조하십시오.

OnInterruptIsr

드라이버의 OnInterruptIsr 콜백 함수 또는 NULL에 대한 포인터입니다.

OnInterruptEnable

드라이버의 OnInterruptEnable 콜백 함수 또는 NULL에 대한 포인터입니다.

OnInterruptDisable

드라이버의 OnInterruptDisable 콜백 함수 또는 NULL에 대한 포인터입니다.

OnInterruptWorkItem

드라이버의 OnInterruptWorkItem 콜백 함수 또는 NULL에 대한 포인터입니다.

InterruptRaw

시스템이 인터럽트에서 할당한 원시 리소스를 설명하는 CM_PARTIAL_RESOURCE_DESCRIPTOR 구조체에 대한 포인터입니다. 이 멤버는 OnPrepareHardware 콜백에서 인터럽트 생성 경우에만 사용됩니다.

InterruptTranslated

인터럽트에서 시스템이 할당한 변환된 리소스를 설명하는 CM_PARTIAL_RESOURCE_DESCRIPTOR 구조체에 대한 포인터입니다. 이 멤버는 OnPrepareHardware 콜백에서 인터럽트 생성 경우에만 사용됩니다.

설명

WUDF_INTERRUPT_CONFIG 구조체는 IWDFDevice3::CreateInterrupt에 대한 입력으로 사용됩니다.

WUDF_INTERRUPT_CONFIG 구조를 초기화하려면 드라이버가 먼저 WUDF_INTERRUPT_CONFIG_INIT 호출한 다음 WUDF_INTERRUPT_CONFIG_INIT 초기화되지 않는 구조체 멤버를 입력해야 합니다.

AutomaticSerialization을 TRUE로 설정하기 전에 드라이버는 LockType 매개 변수가 WdfDeviceLevel로 설정된 IWDFDeviceInitialize::SetLockingConstraint를 호출해야 합니다.

드라이버에는 CM_PARTIAL_RESOURCE_DESCRIPTOR 정의가 포함된 Wudfwdm.h가 포함되어야 합니다.

UMDF는 모든 프레임워크 지원 운영 체제에서 에지 트리거, 라인 기반 인터럽트 및 MSI(메시지 신호 인터럽트)를 지원합니다. 이러한 유형의 인터럽트 리소스는 공유되지 않으므로 이를 사용하는 드라이버는 이 구조체의 ShareVector 멤버를 WdfFalse 또는 WdfUseDefault로 설정해야 합니다. 드라이버가 잘못된 ShareVector 값을 지정하면 드라이버가 시작되지 않습니다.

요구 사항

요구 사항
최소 UMDF 버전 1.11
머리글 wudfinterrupt.h

추가 정보

IWDFDevice3::CreateInterrupt

IWDFDeviceInitialize::SetLockingConstraint

WUDF_INTERRUPT_CONFIG_INIT