IDXGIOutputDuplication::GetFrameMoveRects, méthode (dxgi1_2.h)
Obtient des informations sur les rectangles déplacés pour le cadre de bureau actuel.
Syntaxe
HRESULT GetFrameMoveRects(
[in] UINT MoveRectsBufferSize,
[out] DXGI_OUTDUPL_MOVE_RECT *pMoveRectBuffer,
[out] UINT *pMoveRectsBufferSizeRequired
);
Paramètres
[in] MoveRectsBufferSize
Taille en octets de la mémoire tampon que l’appelant a passée au paramètre pMoveRectBuffer .
[out] pMoveRectBuffer
Pointeur vers un tableau de structures DXGI_OUTDUPL_MOVE_RECT qui identifie les régions de rectangle déplacées pour le cadre de bureau.
[out] pMoveRectsBufferSizeRequired
Pointeur vers une variable qui reçoit le nombre d’octets dont GetFrameMoveRects a besoin pour stocker des informations sur les régions déplacées dans la mémoire tampon sur pMoveRectBuffer.
Pour plus d’informations sur le retour de la taille de mémoire tampon requise, consultez Remarques.
Valeur retournée
GetFrameMoveRects retourne :
- S_OK s’il a correctement récupéré des informations sur les rectangles déplacés.
- 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
- DXGI_ERROR_MORE_DATA si la mémoire tampon fournie par l’application appelante n’est pas assez grande.
- DXGI_ERROR_INVALID_CALL si l’application a appelé GetFrameMoveRects sans posséder l’image de bureau.
- E_INVALIDARG si l’un des paramètres de GetFrameMoveRects est incorrect ; par exemple, si pMoveRectBuffer a la valeur NULL.
- Éventuellement d’autres codes d’erreur décrits dans la rubrique DXGI_ERROR .
Notes
GetFrameMoveRects stocke une valeur de taille dans la variable dans pMoveRectsBufferSizeRequired. Cette valeur spécifie le nombre d’octets dont GetFrameMoveRects a besoin pour stocker des informations sur les régions déplacées. Vous pouvez utiliser cette valeur dans les situations suivantes pour déterminer la quantité de mémoire à allouer pour les mémoires tampons futures que vous transmettez à pMoveRectBuffer :
- GetFrameMoveRects échoue avec DXGI_ERROR_MORE_DATA car la mémoire tampon n’est pas assez grande.
- GetFrameMoveRects fournit une mémoire tampon plus grande que nécessaire. La valeur de taille retournée dans pMoveRectsBufferSizeRequired informe l’appelant de la quantité d’espace tampon réellement utilisé par rapport à l’espace tampon alloué et spécifié par l’appelant dans le paramètre MoveRectsBufferSize .
La mémoire tampon contient la liste des RECT de déplacement pour le frame actuel.
Spécifications
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 |