DXGKDDI_PRESENTDISPLAYONLY funzione di callback (d3dkmddi.h)

Presenta l'immagine dello schermo al dispositivo di visualizzazione di un driver di sola visualizzazione in modalità kernel (KMDOD).

Sintassi

DXGKDDI_PRESENTDISPLAYONLY DxgkddiPresentdisplayonly;

NTSTATUS DxgkddiPresentdisplayonly(
  IN_CONST_HANDLE hAdapter,
  IN_CONST_PDXGKARG_PRESENT_DISPLAYONLY pPresentDisplayOnly
)
{...}

Parametri

hAdapter

Handle per il contesto di dispositivo per la scheda di visualizzazione. La funzione DxgkDdiAddDevice di KMDOD ha restituito in precedenza questo handle nel parametro MiniportDeviceContext .

pPresentDisplayOnly

Puntatore a una struttura DXGKARG_PRESENT_DISPLAYONLY contenente informazioni sull'operazione corrente.

Valore restituito

Restituisce uno dei valori seguenti:

Codice restituito Descrizione
STATUS_SUCCESS L'operazione corrente è stata completata correttamente.
STATUS_PENDING L'operazione corrente è stata inviata alla coda del software o dell'hardware da completare.
In questo caso, il KMDOD deve usare una chiamata di routine interrotta e posticipata (DPC) per segnalare lo stato di avanzamento dell'operazione corrente. In caso contrario, il sistema operativo usa il processo TDR (Timeout Detection and Recovery), che segnala un errore e richiede il KMDOD per reinizializzare se stesso e per reimpostare la GPU.
Si noti che questo codice di stato non deve essere restituito per la modalità sincrona, come descritto in Osservazioni.

 

Il driver può anche restituire qualsiasi altro codice di stato di errore definito in Ntstatus.h per indicare i problemi che si sono verificati con l'operazione corrente.

Commenti

Il KMDOD deve completare tutti gli spostamenti da schermo a schermo prima di copiare rettangoli sporchi. Inoltre, il KMDOD deve completare ogni operazione di spostamento/copia prima di iniziare un'altra operazione di spostamento/copia.

Il sistema operativo supporta due modalità di gestione delle chiavi presenti: sincrona e asincrona. A seconda dell'implementazione dell'hardware e del driver, il KMDOD può usare una modalità o passare da una modalità all'altra in qualsiasi momento.

Il sistema operativo garantisce che questa funzione segua la modalità di sincronizzazione a livello zero, come definito in Threading e Synchronization Zero Level.

Requisiti

Requisito Valore
Client minimo supportato Windows 8
Server minimo supportato Windows Server 2012
Piattaforma di destinazione Desktop
Intestazione d3dkmddi.h
IRQL PASSIVE_LEVEL

Vedi anche

DXGKARGCB_NOTIFY_INTERRUPT_DATA

DXGKARG_PRESENT_DISPLAYONLY

DxgkCbNotifyDpc

DxgkCbNotifyInterrupt

DxgkCbPresentDisplayOnlyProgress

DxgkCbQueueDpc

DxgkDdiAddDevice