다음을 통해 공유


콜백 함수 PVIDEO_HW_INTERRUPT(video.h)

HwVidInterrupt 연결된 비디오 어댑터에서 생성된 인터럽트를 감지하고 해제합니다.

통사론

PVIDEO_HW_INTERRUPT PvideoHwInterrupt;

BOOLEAN PvideoHwInterrupt(
  PVOID HwDeviceExtension
)
{...}

매개 변수

HwDeviceExtension

미니포트 드라이버의 어댑터별 스토리지 영역에 대한 포인터입니다. 자세한 내용은 디바이스 확장참조하세요.

반환 값

HwVidInterrupt 연결된 하드웨어가 인터럽트를 생성하지 않은 것으로 확인되면 FALSE 반환합니다. 그렇지 않으면 true 반환하기 전에 어댑터의 인터럽트해제해야 합니다.

발언

미니포트 드라이버는 비디오 어댑터가 인터럽트를 생성하는 경우 HwVidInterrupt 구현해야 합니다.

먼저 HwVidInterrupt 어댑터가 실제로 인터럽트를 발생시켰는지 여부를 결정해야 합니다. 그렇지 않은 경우 이 함수는 중단을 일으킨 디바이스의 ISR이 즉시 호출되도록 FALSE 즉시 반환해야 합니다.

그렇지 않으면 HwVidInterrupt 일반적으로 인터럽트를 발생시킨 I/O 작업을 완료해야 하며 다음을 수행해야 합니다.

  • 어댑터의 인터럽트 해제(필수).
  • 인터럽트 발생을 발생시킨 요청된 작업을 완료합니다.
  • 가능한 한 빨리 컨트롤을 반환합니다(필수).
미니포트 드라이버에 HwVidInterrupt 함수가 있는 경우 HwVidInterrupt 액세스할 수 있는 레지스터 또는 메모리 위치는 해당 표시 드라이버에 표시될 수 없습니다. 디스플레이 드라이버가 관련된 레지스터 또는 메모리 위치 중 하나를 수정하는 동안 인터럽트는 발생할 수 있으며 동기화를 보장할 방법이 없습니다. 따라서 인터럽트 기반 작업을 위해 중요한 레지스터 또는 메모리 위치에 액세스해야 하는 모든 함수는 미니포트 드라이버에 있어야 합니다.

HwVidInterrupt사용하여 HwDeviceExtension일부와 같은 다른 미니포트 드라이버 함수가 메모리를 공유하는 경우 VideoPortSynchronizeExecution 호출하여 공유 영역에 대한 액세스를 동기화해야 합니다.

HwVidInterrupt 다음 시스템 제공 VideoPortXxx 루틴만 호출할 수 있습니다(비디오 포트 드라이버 내보낸함수 참조).

HwVidInterrupt 이전 목록에 없는 VideoPortXxx 함수를 호출하지 않아야 합니다. 이 요구 사항을 위반하면 시스템 오류가 발생합니다("파란색 화면").

HwVidInterrupt 함수는 페이징할 수 없으며 호출하는 함수도 사용할 수 없습니다.

요구 사항

요구
대상 플랫폼 바탕 화면
헤더 video.h(Video.h 포함)

참고 항목

비디오 포트 드라이버 내보낸 함수

HwVidSynchronizeExecutionCallback

VideoPortDisableInterrupt

VideoPortEnableInterrupt

VideoPortLogError

VideoPortStallExecution

VideoPortSynchronizeExecution

videoPortZeroDeviceMemory

VideoPortZeroMemory