共用方式為


PVIDEO_HW_INTERRUPT回呼函式 (video.h)

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 (include Video.h)

另請參閱

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

HwVidSynchronizeExecutionCallback

VideoPortDisableInterrupt

VideoPortEnableInterrupt

VideoPortLogError

VideoPortStallExecution

VideoPortSynchronizeExecution

VideoPortZeroDeviceMemory

VideoPortZeroMemory