Freigeben über


PVIDEO_HW_INTERRUPT Rückruffunktion (video.h)

HwVidInterrupt erkennt und schließt Unterbrechungen, die vom zugeordneten Grafikkarten generiert werden.

Syntax

PVIDEO_HW_INTERRUPT PvideoHwInterrupt;

BOOLEAN PvideoHwInterrupt(
  PVOID HwDeviceExtension
)
{...}

Parameter

HwDeviceExtension

Zeigen Sie auf den Speicherbereich des Miniporttreibers pro Adapter. Weitere Informationen finden Sie unter Geräteerweiterungen.

Rückgabewert

Wenn HwVidInterrupt bestimmt, dass die zugeordnete Hardware den Interrupt nicht generiert hat, wird FALSEzurückgegeben. Andernfalls muss der Interrupt auf dem Adapter geschlossen werden, bevor er TRUE-zurückgibt.

Bemerkungen

Ein Miniporttreiber muss HwVidInterrupt implementieren, wenn der Grafikkarte Unterbrechungen generiert.

Zunächst sollte HwVidInterrupt bestimmen, ob der Adapter den Interrupt tatsächlich verursacht hat. Andernfalls sollte diese Funktion FALSE- sofort zurückgeben, sodass der ISR des Geräts, das den Interrupt verursacht hat, umgehend aufgerufen wird.

Andernfalls ist HwVidInterrupt im Allgemeinen für den Abschluss des E/A-Vorgangs verantwortlich, der den Unterbrechung verursacht hat, und sollte folgende Schritte ausführen:

  • Schließen Sie den Interrupt auf dem Adapter (erforderlich).
  • Schließen Sie den angeforderten Vorgang ab, der den Unterbrechung verursacht hat.
  • Geben Sie die Steuerung so schnell wie möglich zurück (erforderlich).
Wenn ein Miniporttreiber über eine HwVidInterrupt--Funktion verfügt, kann kein Register- oder Speicherspeicherort, auf den HwVidInterrupt zugegriffen werden kann, für den entsprechenden Anzeigetreiber sichtbar sein. Eine Unterbrechung kann auftreten, während der Anzeigetreiber eine der beteiligten Register oder Speicherspeicherorte ändert, und es gibt keine Möglichkeit, die Synchronisierung sicherzustellen. Daher müssen alle Funktionen, die Zugriff auf die kritischen Register oder Speicherspeicherorte für unterbrechungsgesteuerte Vorgänge erfordern, sich im Miniporttreiber befinden.

Wenn eine andere Miniport-Treiberfunktion Arbeitsspeicher freigibt, z. B. Teil der HwDeviceExtension-, mit HwVidInterrupt, muss sie VideoPortSynchronizeExecution aufrufen, um den Zugriff auf den freigegebenen Bereich zu synchronisieren.

HwVidInterrupt- kann nur die folgenden vom System bereitgestellten VideoPortXxx Routinen aufrufen (siehe Vom Videoporttreiber exportierten Funktionen):

HwVidInterrupt- darf keine VideoPort-Xxx--Funktion aufrufen, die sich nicht in der vorherigen Liste befindet. Ein Verstoß gegen diese Anforderung führt zu Systemfehlern (ein "Blauer Bildschirm").

Eine HwVidInterrupt--Funktion kann nicht seitenfähig sein, oder eine Funktion, die sie aufruft.

Anforderungen

Anforderung Wert
Zielplattform- Desktop
Header- video.h (video.h einschließen)

Siehe auch

Funktionen, die vom Videoporttreiber exportiert werden

HwVidSynchronizeExecutionCallback-

VideoPortDisableInterrupt

VideoPortEnableInterrupt

VideoPortLogError-

VideoPortStallExecution-

VideoPortSynchronizeExecution-

VideoPortZeroDeviceMemory

VideoPortZeroMemory-