IDXGIOutput1::D uplicateOutput, méthode (dxgi1_2.h)

Crée une interface de duplication de bureau à partir de l’interface IDXGIOutput1 qui représente une sortie d’adaptateur.

Syntaxe

HRESULT DuplicateOutput(
  [in]  IUnknown               *pDevice,
  [out] IDXGIOutputDuplication **ppOutputDuplication
);

Paramètres

[in] pDevice

Pointeur vers l’interface d’appareil Direct3D que vous pouvez utiliser pour traiter l’image de bureau. Cet appareil doit être créé à partir de l’adaptateur auquel la sortie est connectée.

[out] ppOutputDuplication

Pointeur vers une variable qui reçoit la nouvelle interface IDXGIOutputDuplication .

Valeur retournée

DuplicateOutput retourne :

  • S_OK si DuplicateOutput a correctement créé l’interface de duplication de bureau.
  • E_INVALIDARG pour l’une des raisons suivantes :
    • L’appareil spécifié (pDevice) n’est pas valide, n’a pas été créé sur l’adaptateur approprié ou n’a pas été créé à partir d’IDXGIFactory1 (ou une version ultérieure d’une interface de fabrique DXGI qui hérite d’IDXGIFactory1).
    • L’application appelante duplique déjà cette sortie de bureau.
  • E_ACCESSDENIED si l’application n’a pas le privilège d’accès à l’image de bureau actuelle. Par exemple, seule une application qui s’exécute à LOCAL_SYSTEM peut accéder au bureau sécurisé.
  • DXGI_ERROR_UNSUPPORTED si l’interface IDXGIOutputDuplication créée ne prend pas en charge le mode de bureau ou le scénario actuel. Par exemple, les modes de bureau 8bpp et non-DWM ne sont pas pris en charge. Si DuplicateOutput échoue avec DXGI_ERROR_UNSUPPORTED, l’application peut attendre que la notification système des commutateurs de bureau et du mode change, puis appelle de nouveau DuplicateOutput après qu’une telle notification se produit. Pour plus d’informations, reportez-vous à EVENT_SYSTEM_DESKTOPSWITCH et à la notification de modification en mode (WM_DISPLAYCHANGE).
  • DXGI_ERROR_NOT_CURRENTLY_AVAILABLE si DXGI a atteint la limite du nombre maximal d’applications de duplication simultanée (valeur par défaut de quatre). Par conséquent, l’application appelante ne peut pas créer d’interfaces de duplication de bureau tant que les autres applications ne sont pas fermées.
  • DXGI_ERROR_SESSION_DISCONNECTED si DuplicateOutput a échoué, car la session est actuellement déconnectée.
  • D’autres codes d’erreur sont décrits dans la rubrique DXGI_ERROR .

Mise à jour de plateforme pour Windows 7 : Sur Windows 7 ou Windows Server 2008 R2 avec la mise à jour de plateforme pour Windows 7 installée, DuplicateOutput échoue avec E_NOTIMPL. Pour plus d’informations sur la mise à jour de plateforme pour Windows 7, consultez Mise à jour de plateforme pour Windows 7.

Notes

Si une application souhaite dupliquer l’intégralité du bureau, elle doit créer une interface de duplication de bureau sur chaque sortie active sur le bureau. Cette interface ne fournit pas un moyen explicite de synchroniser le minutage de chaque image de sortie. Au lieu de cela, l’application doit utiliser l’horodatage de chaque sortie, puis déterminer comment combiner les images.

Pour que DuplicateOutput réussisse, vous devez créer pDevice à partir d’IDXGIFactory1 ou d’une version ultérieure d’une interface de fabrique DXGI qui hérite d’IDXGIFactory1.

Si le mode actuel est un mode stéréo, l’interface de duplication de bureau fournit l’image de l’image stéréo gauche uniquement.

Par défaut, seuls quatre processus peuvent utiliser une interface IDXGIOutputDuplication en même temps dans une seule session. Un processus ne peut avoir qu’une seule interface de duplication de bureau sur une seule sortie de bureau ; Toutefois, ce processus peut avoir une interface de duplication de bureau pour chaque sortie qui fait partie du bureau.

Pour améliorer les performances, envisagez d’utiliser DuplicateOutput1.

Configuration requise

   
Client minimal pris en charge Windows 8 et mise à jour de plateforme pour Windows 7 [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2012 et mise à jour de plateforme pour Windows Server 2008 R2 [applications de bureau uniquement]
Plateforme cible Windows
En-tête dxgi1_2.h
Bibliothèque Dxgi.lib

Voir aussi

DuplicateOutput1

IDXGIOutput1