Condividi tramite


PVIDEO_HW_INTERRUPT funzione di callback (video.h)

HwVidInterrupt rileva e ignora gli interrupt generati dalla scheda video associata.

Sintassi

PVIDEO_HW_INTERRUPT PvideoHwInterrupt;

BOOLEAN PvideoHwInterrupt(
  PVOID HwDeviceExtension
)
{...}

Parametri

HwDeviceExtension

Puntatore all'area di archiviazione per scheda del driver miniport. Per altre informazioni, vedere Estensioni del dispositivo.

Valore restituito

Se HwVidInterrupt determina che l'hardware associato non ha generato l'interrupt, restituisce FALSE. In caso contrario, deve ignorare l'interrupt sulla scheda prima che restituisca TRUE.

Commenti

Un driver miniport deve implementare HwVidInterrupt se la scheda video genera interrupt.

Prima di tutto, HwVidInterrupt deve determinare se la scheda ha effettivamente causato l'interruzione. In caso contrario, questa funzione deve restituire false immediatamente, in modo che l'ISR del dispositivo che ha causato l'interruzione verrà chiamato prontamente.

In caso contrario, HwVidInterrupt è in genere responsabile del completamento dell'operazione di I/O che ha causato l'interruzione e deve eseguire le operazioni seguenti:

  • Ignorare l'interrupt sull'adattatore (obbligatorio).
  • Completare l'operazione richiesta che ha causato l'interruzione.
  • Restituisce il controllo il più rapidamente possibile (obbligatorio).
Se un driver miniport ha una funzione HwVidInterrupt , nessuna posizione di registrazione o memoria accessibile da HwVidInterrupt può essere visibile al driver di visualizzazione corrispondente. Un'interruzione può verificarsi mentre il driver di visualizzazione modifica uno dei registri o dei percorsi di memoria coinvolti e non è possibile garantire la sincronizzazione. Pertanto, tutte le funzioni che richiedono l'accesso ai registri critici o ai percorsi di memoria per le operazioni guidate da interrupt devono trovarsi nel driver miniport.

Se qualsiasi altra funzione driver miniport condivide la memoria, ad esempio parte di HwDeviceExtension, con HwVidInterrupt, deve chiamare VideoPortSynchronizeExecution per sincronizzare l'accesso all'area condivisa.

HwVidInterrupt può chiamare solo le routine VideoPortXxx fornite dal sistema seguenti (vedere Funzioni esportate dal driver della porta video):

HwVidInterruptnon deve chiamare alcuna funzione VideoPortXxx non presente nell'elenco precedente. La violazione di questo requisito causerà un errore di sistema (una "schermata blu").

Una funzione HwVidInterrupt non può essere di tipo pageable né può essere chiamata da una funzione.

Requisiti

Requisito Valore
Piattaforma di destinazione Desktop
Intestazione video.h (include Video.h)

Vedi anche

Funzioni esportate dal driver della porta video

HwVidSynchronizeExecutionCallback

VideoPortDisableInterrupt

VideoPortEnableInterrupt

VideoPortLogError

VideoPortStallExecution

VideoPortSynchronizeExecution

VideoPortZeroDeviceMemory

VideoPortZeroMemory