Freigeben über


DXGKDDI_SYSTEM_DISPLAY_WRITE Rückruffunktion (dispmprt.h)

Wird vom Betriebssystem aufgerufen, um den Anzeige-Miniporttreiber anzufordern, einen Bildblock auf das Anzeigegerät zu schreiben.

Ab Windows 8 ruft das Betriebssystem diese Funktion während eines Fehlers zur Fehlerüberprüfung auf, der auf einen Systemstoppfehler folgt. Das Betriebssystem ruft diese Funktion nur auf, wenn das Anzeigegerät zuvor über einen Aufruf von DxgkDdiSystemDisplayEnable zurückgesetzt wurde.

Syntax

DXGKDDI_SYSTEM_DISPLAY_WRITE DxgkddiSystemDisplayWrite;

void DxgkddiSystemDisplayWrite(
  [in] PVOID MiniportDeviceContext,
  [in] PVOID Source,
  [in] UINT SourceWidth,
  [in] UINT SourceHeight,
  [in] UINT SourceStride,
  [in] UINT PositionX,
  [in] UINT PositionY
)
{...}

Parameter

[in] MiniportDeviceContext

Ein Handle für einen Kontextblock, der einer Grafikkarte zugeordnet ist. Die DxgkDdiAddDevice-Funktion des Display-Miniporttreibers hat dieses Handle zuvor für das Microsoft DirectX-Grafikkernsystem bereitgestellt.

[in] Source

Ein Zeiger auf die Startadresse des Quellbilds, das in den Fehlerprüfungsbildschirm geschrieben werden soll, auf dem Informationen zum Systemstoppfehler angezeigt werden.

[in] SourceWidth

Ein UINT-Wert, der die Breite des angegebenen Quellbilds in Pixeleinheiten angibt.

[in] SourceHeight

Ein UINT-Wert, der die Höhe des angegebenen Quellbilds in Pixeleinheiten angibt.

[in] SourceStride

Ein UINT-Wert, der die Anzahl der Bytes für jede Zeile des angegebenen Quellimages angibt.

[in] PositionX

Ein UINT-Wert, der die X-Startkoordinate angibt, in die das angegebene Quellbild auf dem Anzeigegerät geschrieben werden soll.

[in] PositionY

Ein UINT-Wert, der die Y-Startkoordinate angibt, in die das angegebene Quellbild auf dem Anzeigegerät geschrieben werden soll.

Rückgabewert

Keine

Bemerkungen

Einschränkungen für Quellimages

Der Anzeige-Miniporttreiber muss diese Richtlinien befolgen, wenn seine DxgkDdiSystemDisplayWrite-Funktion aufgerufen wird:
  • Das Farbformat des Quellbilds befindet sich immer im format D3DDDIFMT_R8G8B8 (24 Bit pro Pixel) oder D3DDDIFMT_A8R8G8B8 (32 bpp) der D3DDDIFORMAT-Enumeration . Der Anzeige-Miniporttreiber hatte zuvor den Anzeigemodus so festgelegt, dass Schreibvorgänge in diesem Format aktiviert werden, wenn dxgkDdiSystemDisplayEnable aufgerufen wurde.
  • Das Quellimage befindet sich im Nicht-Auslagerungsspeicher. Der Anzeigeminiporttreiber sollte dieses Quellbild ab den durch die Parameter PostionX und PositionY angegebenen Positionen in den aktuellen Framepuffer schreiben.
  • Der Anzeige-Miniporttreiber sollte die CPU verwenden, um den Imageblock in den Framepuffer zu schreiben. Wenn beim System ein Stoppfehler auftritt, wurde dies möglicherweise durch eine kontinuierliche Timeouterkennung und -wiederherstellung (TDR) auf dem Anzeigegerät verursacht. In diesem Fall befindet sich die Grafikverarbeitungseinheit (GRAPHICS Processing Unit, GPU) möglicherweise in einem unbekannten Zustand.

    Weitere Informationen zu TDR finden Sie unter Timeouterkennung und -wiederherstellung (TDR).

Verwenden von nicht ausgelagerten Arbeitsspeicher

Windows-Kernelmodusfunktionen sind möglicherweise nicht verfügbar, während diese Funktion aufgerufen wird.

DxgkDdiSystemDisplayWrite kann in jedem IRQL aufgerufen werden, sodass es sich im nicht ausstellbaren Arbeitsspeicher befinden muss. DxgkDdiSystemDisplayWrite darf keinen Code aufrufen, der sich im ausgelagerten Speicher befindet, und darf keine Daten bearbeiten, die sich im ausgelagerten Speicher befinden.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 8
Unterstützte Mindestversion (Server) Windows Server 2012
Zielplattform Desktop
Kopfzeile dispmprt.h
IRQL Beliebige Ebene (siehe Abschnitt "Hinweise")

Weitere Informationen

DxgkCbAcquirePostDisplayOwnership

DxgkDdiAddDevice

DxgkDdiStopDeviceAndReleasePostDisplayOwnership

DxgkDdiSystemDisplayEnable