PVIDEO_HW_INTERRUPT función de devolución de llamada (video.h)

HwVidInterrupt detecta y descarta las interrupciones generadas por el adaptador de vídeo asociado.

Sintaxis

PVIDEO_HW_INTERRUPT PvideoHwInterrupt;

BOOLEAN PvideoHwInterrupt(
  PVOID HwDeviceExtension
)
{...}

Parámetros

HwDeviceExtension

Puntero al área de almacenamiento por adaptador del controlador miniporte. Para obtener más información, consulte Extensiones de dispositivo.

Valor devuelto

Si HwVidInterrupt determina que su hardware asociado no ha generar la interrupción, devuelve FALSE. De lo contrario, debe descartar la interrupción en su adaptador antes de que devuelva TRUE.

Comentarios

Un controlador de minipuerto debe implementar HwVidInterrupt si su adaptador de vídeo genera interrupciones.

En primer lugar, HwVidInterrupt debe determinar si su adaptador realmente causó la interrupción. Si no es así, esta función debe devolver FALSE inmediatamente para que se llame inmediatamente al ISR del dispositivo que provocó la interrupción.

De lo contrario, HwVidInterrupt suele ser responsable de completar la operación de E/S que provocó la interrupción y debe hacer lo siguiente:

  • Descarte la interrupción en el adaptador (obligatorio).
  • Complete la operación solicitada que provocó la interrupción.
  • Devuelve el control lo más rápido posible (necesario).
Si un controlador de minipuerto tiene una función HwVidInterrupt, HwVidInterrupt no puede ver ninguna ubicación de registro o memoria a la que pueda acceder HwVidInterrupt al controlador de pantalla correspondiente. Se puede producir una interrupción mientras el controlador de pantalla modifica uno de los registros o las ubicaciones de memoria implicadas y no hay ninguna manera de garantizar la sincronización. Por lo tanto, todas las funciones que requieren acceso a los registros críticos o las ubicaciones de memoria para las operaciones controladas por interrupciones deben estar en el controlador de minipuerto.

Si cualquier otra función del controlador de miniporte comparte memoria, como parte de HwDeviceExtension, con HwVidInterrupt, debe llamar a VideoPortSynchronizeExecution para sincronizar su acceso al área compartida.

HwVidInterrupt solo puede llamar a las siguientes rutinas VideoPortXxx proporcionadas por el sistema (vea Funciones exportadas por el controlador de puerto de vídeo):

HwVidInterruptno debe llamar a ninguna función VideoPortXxx que no esté en la lista anterior. La infracción de este requisito provocará un error del sistema (una "pantalla azul").

Una función HwVidInterrupt no puede ser paginable ni ninguna función a la que llame.

Requisitos

Requisito Value
Plataforma de destino Escritorio
Encabezado video.h (incluir Video.h)

Consulte también

Funciones exportadas por el controlador de puerto de vídeo

HwVidSynchronizeExecutionCallback

VideoPortDisableInterrupt

VideoPortEnableInterrupt

VideoPortLogError

VideoPortStallExecution

VideoPortSynchronizeExecution

VideoPortZeroDeviceMemory

VideoPortZeroMemory