Método IDXGIOutputDuplication::GetFrameMoveRects (dxgi1_2.h)
Obtém informações sobre os retângulos movidos para o quadro da área de trabalho atual.
Sintaxe
HRESULT GetFrameMoveRects(
[in] UINT MoveRectsBufferSize,
[out] DXGI_OUTDUPL_MOVE_RECT *pMoveRectBuffer,
[out] UINT *pMoveRectsBufferSizeRequired
);
Parâmetros
[in] MoveRectsBufferSize
O tamanho em bytes do buffer que o chamador passou para o parâmetro pMoveRectBuffer .
[out] pMoveRectBuffer
Um ponteiro para uma matriz de estruturas DXGI_OUTDUPL_MOVE_RECT que identifica as regiões de retângulo movidas para o quadro da área de trabalho.
[out] pMoveRectsBufferSizeRequired
Ponteiro para uma variável que recebe o número de bytes que GetFrameMoveRects precisa para armazenar informações sobre regiões movidas no buffer em pMoveRectBuffer.
Para obter mais informações sobre como retornar o tamanho do buffer necessário, consulte Comentários.
Valor retornado
GetFrameMoveRects retorna:
- S_OK se ele recuperou com êxito informações sobre retângulos movidos.
- 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 GetFrameMoveRects sem possuir a imagem da área de trabalho.
- E_INVALIDARG se um dos parâmetros para GetFrameMoveRects estiver incorreto; por exemplo, se pMoveRectBuffer for NULL.
- Possivelmente outros códigos de erro descritos no tópico DXGI_ERROR .
Comentários
GetFrameMoveRects armazena um valor de tamanho na variável em pMoveRectsBufferSizeRequired. Esse valor especifica o número de bytes que GetFrameMoveRects precisa para armazenar informações sobre regiões movidas. 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 pMoveRectBuffer:
- GetFrameMoveRects falha com DXGI_ERROR_MORE_DATA porque o buffer não é grande o suficiente.
- GetFrameMoveRects fornece um buffer maior do que o necessário. O valor de tamanho retornado em pMoveRectsBufferSizeRequired 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 MoveRectsBufferSize .
O buffer contém a lista de RECTs de movimentação 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 |