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