DXGKDDI_SYSTEM_DISPLAY_WRITE funzione di callback (dispmprt.h)

Chiamato dal sistema operativo per richiedere al driver miniport di visualizzazione di scrivere un blocco di immagini nel dispositivo di visualizzazione.

A partire da Windows 8, il sistema operativo chiama questa funzione durante un'operazione di controllo bug dopo un errore di arresto del sistema. Il sistema operativo chiama questa funzione solo se il dispositivo di visualizzazione è stato precedentemente reimpostato tramite una chiamata a DxgkDdiSystemDisplayEnable.

Sintassi

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
)
{...}

Parametri

[in] MiniportDeviceContext

Handle di un blocco di contesto associato a una scheda di visualizzazione. La funzione DxgkDdiAddDevice del driver miniport di visualizzazione ha fornito in precedenza questo handle al sottosistema kernel grafico Microsoft DirectX.

[in] Source

Puntatore all'indirizzo iniziale dell'immagine di origine da scrivere nella schermata di controllo bug che visualizza informazioni sull'errore di arresto del sistema.

[in] SourceWidth

Valore UINT che specifica la larghezza, in unità di pixel, dell'immagine di origine specificata.

[in] SourceHeight

Valore UINT che specifica l'altezza, in unità di pixel, dell'immagine di origine specificata.

[in] SourceStride

Valore UINT che specifica il numero di byte per ogni riga dell'immagine di origine specificata.

[in] PositionX

Valore UINT che specifica la coordinata X iniziale in cui deve essere scritta l'immagine di origine specificata nel dispositivo di visualizzazione.

[in] PositionY

Valore UINT che specifica la coordinata Y iniziale in cui deve essere scritta l'immagine di origine specificata nel dispositivo di visualizzazione.

Valore restituito

nessuno

Osservazioni

Restrizioni per le immagini di origine

Il driver miniport di visualizzazione deve seguire queste linee guida quando viene chiamata la funzione DxgkDdiSystemDisplayWrite :
  • Il formato di colore dell'immagine di origine è sempre nei formati D3DDDIFMT_R8G8B8 (24 bit per pixel) o D3DDDIFMT_A8R8G8B8 (32 bpp) dell'enumerazione D3DDDIFORMAT . Il driver miniport di visualizzazione aveva precedentemente impostato la modalità di visualizzazione per abilitare le operazioni di scrittura in questo formato quando è stato chiamato dxgkDdiSystemDisplayEnable .
  • L'immagine di origine è in memoria non di paging. Il driver miniport di visualizzazione deve scrivere questa immagine di origine nel buffer frame corrente a partire dalle posizioni specificate dai parametri PostionX e PositionY .
  • Il driver miniport di visualizzazione deve usare la CPU per scrivere il blocco di immagini nel buffer dei fotogrammi. Quando il sistema rileva un errore di arresto, potrebbe essere stato causato da un rilevamento continuo del timeout e dal ripristino (TDR) nel dispositivo di visualizzazione. In tal caso, l'unità di elaborazione grafica (GPU) potrebbe trovarsi in uno stato sconosciuto.

    Per altre informazioni sulla route TDR, vedere Timeout Detection and Recovery (TDR).

Usare la memoria non di paging

Le funzioni in modalità kernel di Windows potrebbero non essere disponibili durante la chiamata di questa funzione.

DxgkDdiSystemDisplayWrite può essere chiamato in qualsiasi IRQL, quindi deve essere in memoria non di paging. DxgkDdiSystemDisplayWrite non deve chiamare codice in memoria pagable e non deve modificare i dati contenuti nella memoria di paging.

Requisiti

Requisito Valore
Client minimo supportato Windows 8
Server minimo supportato Windows Server 2012
Piattaforma di destinazione Desktop
Intestazione dispmprt.h
IRQL Qualsiasi livello (vedere la sezione Osservazioni)

Vedi anche

DxgkCbAcquirePostDisplayOwnership

DxgkDdiAddDevice

DxgkDdiStopDeviceAndReleasePostDisplayOwnership

DxgkDdiSystemDisplayEnable