Partager via


Fonction D3DKMTOutputDuplPresent (d3dkmthk.h)

Envoie une commande présente à partir de la chaîne d’échange de l’API de duplication de bureau du Gestionnaire de fenêtres de bureau (DWM) au sous-système du noyau graphique Microsoft DirectX (Dxgkrnl.sys).

Syntaxe

NTSTATUS D3DKMTOutputDuplPresent(
  [in] const D3DKMT_OUTPUTDUPLPRESENT *unnamedParam1
);

Paramètres

[in] unnamedParam1

Pointeur vers une structure D3DKMT_OUTPUTDUPLPRESENT qui décrit les paramètres de l’opération actuelle.

Valeur retournée

Renvoie l'une des valeurs suivantes :

Code de retour Description
STATUS_SUCCESS L’opération actuelle a été effectuée avec succès.
STATUS_DEVICE_REMOVED La carte graphique a été arrêtée ou le contexte d’affichage a été réinitialisé.
STATUS_INVALID_PARAMETER Les paramètres ont été validés et déterminés comme incorrects.
STATUS_NO_MEMORY D3DKMTOutputDuplPresent n’a pas pu se terminer en raison d’une mémoire insuffisante.
STATUS_GRAPHICS_ALLOCATION_INVALID Le handle de surface principale a été invalidé en raison d’un changement de mode d’affichage. Si le pilote client installable OpenGL (ICD) reçoit ce code d’erreur, il doit rouvrir ou recréer le handle principal, remplacer toutes les références dans la mémoire tampon de commande par l’ancien handle par le nouveau handle, puis renvoyer la mémoire tampon.
STATUS_GRAPHICS_GPU_EXCEPTION_ON_DEVICE Une erreur s’est produite sur le contexte d’appareil de rendu spécifié par le membre hContext de D3DKMT_OUTPUTDUPLPRESENT .
Note: Ce code d’erreur n’indique pas le lancement d’un processus de détection et de récupération de délai d’attente (TDR) ou que le GPU a cessé de répondre.
Par exemple, le sous-système du noyau graphique DirectX place un appareil dans un état d’erreur si le pilote miniport d’affichage indique qu’une mémoire tampon DMA envoyée à partir de cet appareil a provoqué une erreur ou si le gestionnaire de mémoire vidéo n’a pas pu pager toutes les allocations requises pour une mémoire tampon DMA même après le fractionnement de la mémoire tampon DMA. Une fois qu’un appareil est dans un état d’erreur, il ne peut plus effectuer d’opérations et doit être détruit et recréé. L’ICD peut appeler la fonction D3DKMTGetDeviceState pour déterminer une raison plus précise de l’erreur.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 8
Serveur minimal pris en charge Windows Server 2012
Plateforme cible Universal
En-tête d3dkmthk.h (inclure D3dkmthk.h)
Bibliothèque Gdi32.lib
DLL Gdi32.dll

Voir aussi

D3DKMTGetDeviceState

D3DKMT_OUTPUTDUPLPRESENT