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