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