Método IDXGIOutputDuplication::GetFrameDirtyRects (dxgi1_2.h)
Obtém informações sobre sujo retângulos para o quadro da área de trabalho atual.
Sintaxe
HRESULT GetFrameDirtyRects(
[in] UINT DirtyRectsBufferSize,
[out] RECT *pDirtyRectsBuffer,
[out] UINT *pDirtyRectsBufferSizeRequired
);
Parâmetros
[in] DirtyRectsBufferSize
O tamanho em bytes do buffer que o chamador passou para o parâmetro pDirtyRectsBuffer .
[out] pDirtyRectsBuffer
Um ponteiro para uma matriz de estruturas RECT que identifica as regiões de retângulo sujo para o quadro da área de trabalho.
[out] pDirtyRectsBufferSizeRequired
Ponteiro para uma variável que recebe o número de bytes que GetFrameDirtyRects precisa para armazenar informações sobre sujo regiões no buffer em pDirtyRectsBuffer.
Para obter mais informações sobre como retornar o tamanho do buffer necessário, consulte Comentários.
Valor retornado
GetFrameDirtyRects retorna:
- S_OK se ele recuperou com êxito informações sobre retângulos sujo.
- DXGI_ERROR_ACCESS_LOST se a interface de duplicação da área de trabalho for inválida. A interface de duplicação da área de trabalho normalmente se torna inválida quando um tipo diferente de imagem é exibido na área de trabalho. Exemplos dessa situação são:
- Comutador da área de trabalho
- Alteração de modo
- Alternar do DWM ativado, DWM desativado ou outro aplicativo de tela inteira
- DXGI_ERROR_MORE_DATA se o buffer fornecido pelo aplicativo de chamada não for grande o suficiente.
- DXGI_ERROR_INVALID_CALL se o aplicativo chamado GetFrameDirtyRects sem possuir a imagem da área de trabalho.
- E_INVALIDARG se um dos parâmetros para GetFrameDirtyRects estiver incorreto; por exemplo, se pDirtyRectsBuffer for NULL.
- Possivelmente outros códigos de erro descritos no tópico DXGI_ERROR .
Comentários
GetFrameDirtyRects armazena um valor de tamanho na variável em pDirtyRectsBufferSizeRequired. Esse valor especifica o número de bytes que GetFrameDirtyRects precisa para armazenar informações sobre sujo regiões. Você pode usar esse valor nas seguintes situações para determinar a quantidade de memória a ser alocada para buffers futuros que você passa para pDirtyRectsBuffer:
- GetFrameDirtyRects falha com DXGI_ERROR_MORE_DATA porque o buffer não é grande o suficiente.
- GetFrameDirtyRects fornece um buffer maior do que o necessário. O valor de tamanho retornado em pDirtyRectsBufferSizeRequired informa ao chamador quanto espaço de buffer foi realmente usado em comparação com a quantidade de espaço em buffer que o chamador alocou e especificou no parâmetro DirtyRectsBufferSize .
O buffer contém a lista de sujo RECTs para o quadro atual.
Requisitos
Cliente mínimo com suporte | Windows 8 [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2012 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | dxgi1_2.h |
Biblioteca | Dxgi.lib |