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 可访问的寄存器或内存位置对相应的显示驱动程序不可见。 当显示驱动程序修改涉及的寄存器或内存位置之一时,可能会发生中断,并且无法确保同步。 因此,需要访问中断驱动操作的关键寄存器或内存位置的所有函数都必须位于微型端口驱动程序中。

如果任何其他微型端口驱动程序函数与 HwVidInterrupt 共享内存(例如 HwDeviceExtension 的一部分),则必须调用 VideoPortSynchronizeExecution 以同步其对共享区域的访问。

HwVidInterrupt 只能调用以下系统提供的 VideoPortXxx 例程, (请参阅 视频端口驱动程序) 导出的函数

HwVidInterrupt不得 调用任何不在上述列表中的 VideoPortXxx 函数。 违反此要求将导致系统故障 (“蓝屏”) 。

HwVidInterrupt 函数不能是可分页的,它调用的任何函数也不能是可分页的。

要求

要求
目标平台 桌面
标头 video.h (包括 Video.h)

另请参阅

视频端口驱动程序导出的函数

HwVidSynchronizeExecutionCallback

VideoPortDisableInterrupt

VideoPortEnableInterrupt

VideoPortLogError

VideoPortStallExecution

VideoPortSynchronizeExecution

VideoPortZeroDeviceMemory

VideoPortZeroMemory