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 adattatore del driver miniport. Per altre informazioni, vedere Device Extensions.

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 di restituire TRUE.

Osservazioni

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'interrupt. In caso contrario, questa funzione deve restituire FALSE immediatamente in modo che l'ISR del dispositivo che ha causato l'interrupt verrà chiamato tempestivamente.

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

  • Ignorare l'interrupt sull'adattatore (obbligatorio).
  • Completare l'operazione richiesta che ha causato l'interrupt.
  • Restituisce il controllo il più rapidamente possibile (obbligatorio).
Se un driver miniport dispone di una funzione HwVidInterrupt, non è possibile accedere a una posizione di registrazione o di memoria HwVidInterrupt può essere visibile al driver di visualizzazione corrispondente. Un interrupt 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 alle posizioni di memoria per le operazioni basate su interrupt devono trovarsi nel driver miniport.

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

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

HwVidInterrupt deve non 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 visualizzabile in pagine né può essere chiamato da una funzione.

Fabbisogno

Requisito Valore
piattaforma di destinazione Desktop
intestazione video.h (includere Video.h)

Vedere anche

funzioni esportate dal driver di porta video

HwVidSynchronizeExecutionCallback

VideoPortDisableInterrupt

VideoPortEnableInterrupt

VideoPortLogError

VideoPortStallExecution

VideoPortSynchronizeExecution

VideoPortZeroDeviceMemory

VideoPortZeroMemory