Partager via


DXGKDDI_PRESENTDISPLAYONLY fonction de rappel (d3dkmddi.h)

Présente l’image d’écran sur le périphérique d’affichage d’un pilote d’affichage seul en mode noyau (KMDOD).

Syntaxe

DXGKDDI_PRESENTDISPLAYONLY DxgkddiPresentdisplayonly;

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

Paramètres

hAdapter

Handle vers le contexte de l’appareil pour l’adaptateur d’affichage. La fonction DxgkDdiAddDevice du KMDOD a précédemment retourné ce handle dans le paramètre MiniportDeviceContext .

pPresentDisplayOnly

Pointeur vers une structure DXGKARG_PRESENT_DISPLAYONLY qui contient des informations sur l’opération actuelle.

Valeur retournée

Renvoie l'une des valeurs suivantes :

Code de retour Description
STATUS_SUCCESS L’opération actuelle s’est terminée avec succès.
STATUS_PENDING L’opération actuelle a été envoyée à la file d’attente logicielle ou matérielle pour se terminer.
Dans ce cas, le KMDOD doit utiliser une interruption et un appel de procédure différée (DPC) pour signaler la progression de l’opération actuelle. Sinon, le système d’exploitation utilise le processus de détection et de récupération du délai d’expiration (TDR), qui signale une erreur et exige que le KMDOD se réinitialise et réinitialise le GPU.
Notez que ce code status ne doit pas être retourné pour le mode synchrone, comme décrit dans Remarques.

 

Le pilote peut également retourner toute autre erreur status code défini dans Ntstatus.h pour indiquer les problèmes qui se sont produits avec l’opération actuelle.

Remarques

Le KMDOD doit effectuer tous les déplacements d’écran à écran avant de copier sale rectangles. En outre, kmDOD doit effectuer chaque opération de déplacement/copie avant de commencer une autre opération de déplacement/copie.

Le système d’exploitation prend en charge deux modes d’opérations présentes KMDOD : synchrone et asynchrone. En fonction de l’implémentation du matériel et du pilote, kmDOD peut utiliser l’un ou l’autre des modes ou basculer entre eux à tout moment.

Le système d’exploitation garantit que cette fonction suit le mode de synchronisation de niveau zéro tel que défini dans Threading et Synchronisation Niveau zéro.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 8
Serveur minimal pris en charge Windows Server 2012
Plateforme cible Desktop (Expérience utilisateur)
En-tête d3dkmddi.h
IRQL PASSIVE_LEVEL

Voir aussi

DXGKARGCB_NOTIFY_INTERRUPT_DATA

DXGKARG_PRESENT_DISPLAYONLY

DxgkCbNotifyDpc

DxgkCbNotifyInterrupt

DxgkCbPresentDisplayOnlyProgress

DxgkCbQueueDpc

DxgkDdiAddDevice