Partager via


IDXGIOutputDuplication ::AcquireNextFrame, méthode (dxgi1_2.h)

Indique que l’application est prête à traiter l’image de bureau suivante.

Syntaxe

HRESULT AcquireNextFrame(
  [in]  UINT                    TimeoutInMilliseconds,
  [out] DXGI_OUTDUPL_FRAME_INFO *pFrameInfo,
  [out] IDXGIResource           **ppDesktopResource
);

Paramètres

[in] TimeoutInMilliseconds

Intervalle de délai d’attente, en millisecondes. Cet intervalle spécifie la durée pendant laquelle cette méthode attend une nouvelle image avant de revenir à l’appelant. Cette méthode retourne si l’intervalle s’écoule et qu’une nouvelle image de bureau n’est pas disponible.

Pour plus d’informations sur l’intervalle de délai d’attente, consultez Remarques.

[out] pFrameInfo

Pointeur vers un emplacement de mémoire qui reçoit la structure DXGI_OUTDUPL_FRAME_INFO qui décrit les statistiques de minutage et de présentation d’une trame.

[out] ppDesktopResource

Pointeur vers une variable qui reçoit l’interface IDXGIResource de la surface qui contient la bitmap du bureau.

Valeur retournée

AcquireNextFrame retourne :

  • S_OK s’il a reçu l’image de bureau suivante.
  • DXGI_ERROR_ACCESS_LOST si l’interface de duplication du bureau n’est pas valide. L’interface de duplication du bureau devient généralement non valide lorsqu’un autre type d’image est affiché sur le bureau. Voici quelques exemples de cette situation :
    • Commutateur de bureau
    • Changement de mode
    • Passer de DWM activé, DWM désactivé ou d’une autre application plein écran
    Dans ce cas, l’application doit libérer l’interface IDXGIOutputDuplication et créer un nouvel IDXGIOutputDuplication pour le nouveau contenu.
  • DXGI_ERROR_WAIT_TIMEOUT si l’intervalle de délai d’attente s’est écoulé avant la disponibilité de l’image de bureau suivante.
  • DXGI_ERROR_INVALID_CALL si l’application a appelé AcquireNextFrame sans libérer l’image précédente.
  • E_INVALIDARG si l’un des paramètres de AcquireNextFrame est incorrect ; par exemple, si pFrameInfo a la valeur NULL.
  • Éventuellement d’autres codes d’erreur décrits dans la rubrique DXGI_ERROR .

Remarques

Lorsque AcquireNextFrame est retourné avec succès, l’application appelante peut accéder à l’image de bureau retournée par AcquireNextFrame dans la variable sur ppDesktopResource. Si l’appelant spécifie un intervalle de délai d’attente zéro dans le paramètre TimeoutInMilliseconds , AcquireNextFrame vérifie s’il existe une nouvelle image de bureau disponible, retourne immédiatement et indique son résultat avec la valeur renvoyée. Si l’appelant spécifie un intervalle de délai d’attente INFINI dans le paramètre TimeoutInMilliseconds , l’intervalle de délai d’attente ne s’écoule jamais.

Note Vous ne pouvez pas annuler l’attente que vous avez spécifiée dans le paramètre TimeoutInMilliseconds . Par conséquent, si vous devez régulièrement case activée pour d’autres conditions (par exemple, un signal de fin), vous devez spécifier un intervalle de délai d’attente non INFINI. Une fois l’intervalle de délai d’attente écoulé, vous pouvez case activée pour ces autres conditions, puis appeler à nouveau AcquireNextFrame pour attendre l’image suivante.
 
AcquireNextFrame acquiert un nouveau cadre de bureau lorsque le système d’exploitation met à jour l’image bitmap du bureau ou modifie la forme ou la position d’un pointeur matériel. Le nouveau cadre acquis par AcquireNextFrame peut avoir uniquement l’image de bureau mise à jour, seule la forme ou la position du pointeur mise à jour, ou les deux.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 8 [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2012 [applications de bureau uniquement]
Plateforme cible Windows
En-tête dxgi1_2.h
Bibliothèque Dxgi.lib

Voir aussi

IDXGIOutputDuplication