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