video.h) (回呼函式PVIDEO_HW_INTERRUPT

HwVidInterrupt 會偵測並關閉相關聯視訊配接器所產生的中斷。

語法

PVIDEO_HW_INTERRUPT PvideoHwInterrupt;

BOOLEAN PvideoHwInterrupt(
  PVOID HwDeviceExtension
)
{...}

參數

HwDeviceExtension

迷你埠驅動程式每個適配卡儲存區域的指標。 如需詳細資訊,請參閱 裝置擴充功能

傳回值

如果 HwVidInterrupt 判斷其相關聯的硬體未產生中斷,則會傳回 FALSE。 否則,它必須關閉其配接器上的中斷,才能傳回 TRUE

備註

如果迷你埠驅動程序的視訊配接器產生中斷,則必須實作 HwVidInterrupt

首先, HwVidInterrupt 應該判斷其配接器是否確實造成中斷。 如果沒有,此函式應該會立即傳回 FALSE ,因此會立即呼叫造成中斷之裝置的 ISR。

否則, HwVidInterrupt 通常負責完成造成中斷的 I/O 作業,而且應該執行下列動作:

  • 關閉配卡上所需的中斷 () 。
  • 完成造成中斷的要求作業。
  • 儘快傳回控件 (所需的) 。
如果迷你埠驅動程式具有 HwVidInterrupt 函式,則對應的顯示驅動程式無法看見 可由 HwVidInterrupt 存取的緩存器或記憶體位置。 當顯示驅動程式正在修改其中一個涉及的緩存器或記憶體位置時,就可能發生中斷,而且無法確保同步處理。 因此,需要存取中斷驅動作業之重要緩存器或記憶體位置的所有函式都必須在迷你埠驅動程式中。

如果任何其他迷你埠驅動程式函式共用記憶體,例如 HwDeviceExtension 的一部分,則 HwVidInterrupt 必須呼叫 VideoPortSynchronizeExecution ,以同步其對共用區域的存取。

HwVidInterrupt 只能呼叫下列系統提供的 VideoPortXxx 例程, (請參閱影片 埠驅動程式) 導出的函 式:

HwVidInterrupt不得 呼叫任何不在上述清單中的 VideoPortXxx 函式。 違反此需求會導致系統失敗 (「藍色畫面」) 。

HwVidInterrupt 函式無法分頁,也無法呼叫它的任何函式。

規格需求

需求
目標平台 桌面
標頭 video.h (包含 Video.h)

另請參閱

視訊埠驅動程序導出的函式

HwVidSynchronizeExecutionCallback

VideoPortDisableInterrupt

VideoPortEnableInterrupt

VideoPortLogError

VideoPortStallExecution

VideoPortSynchronizeExecution

VideoPortZeroDeviceMemory

VideoPortZeroMemory