PVIDEO_HW_INTERRUPT callback function (video.h)
HwVidInterrupt detects and dismisses interrupts generated by the associated video adapter.
PVIDEO_HW_INTERRUPT PvideoHwInterrupt;
BOOLEAN PvideoHwInterrupt(
PVOID HwDeviceExtension
)
{...}
HwDeviceExtension
Pointer to the miniport driver's per-adapter storage area. For more information, see Device Extensions.
If HwVidInterrupt determines that its associated hardware did not generate the interrupt, it returns FALSE. Otherwise, it must dismiss the interrupt on its adapter before it returns TRUE.
A miniport driver must implement HwVidInterrupt if its video adapter generates interrupts.
First, HwVidInterrupt should determine whether its adapter actually caused the interrupt. If not, this function should return FALSE immediately so the ISR of the device that caused the interrupt will be called promptly.
Otherwise, HwVidInterrupt is generally responsible for completing the I/O operation that caused the interrupt, and should do the following:
- Dismiss the interrupt on the adapter (required).
- Complete the requested operation that caused the interrupt.
- Return control as quickly as possible (required).
If any other miniport driver function shares memory, such as part of the HwDeviceExtension, with HwVidInterrupt, it must call VideoPortSynchronizeExecution to synchronize its access to the shared area.
HwVidInterrupt can call only the following system-supplied VideoPortXxx routines (see Functions Exported by the Video Port Driver):
-
VideoPortStallExecution for no more than a very few microseconds. If possible, HwVidInterrupt should avoid calling this function.
- All VideoPortReadXxx and VideoPortWriteXxx routines.
-
VideoPortDisableInterrupt (obsolete)
-
VideoPortEnableInterrupt (obsolete)
A HwVidInterrupt function cannot be pageable, nor can any function that it calls.
Requirement | Value |
---|---|
Target Platform | Desktop |
Header | video.h (include Video.h) |
Functions Exported by the Video Port Driver