Метод IDXGIOutputDuplication::GetFrameMoveRects (dxgi1_2.h)
Возвращает сведения о перемещенных прямоугольниках для текущего кадра рабочего стола.
Синтаксис
HRESULT GetFrameMoveRects(
[in] UINT MoveRectsBufferSize,
[out] DXGI_OUTDUPL_MOVE_RECT *pMoveRectBuffer,
[out] UINT *pMoveRectsBufferSizeRequired
);
Параметры
[in] MoveRectsBufferSize
Размер буфера в байтах, который вызывающий объект передал параметру pMoveRectBuffer .
[out] pMoveRectBuffer
Указатель на массив DXGI_OUTDUPL_MOVE_RECT структур, определяющий перемещенные области прямоугольника для кадра рабочего стола.
[out] pMoveRectsBufferSizeRequired
Указатель на переменную, которая получает количество байтов, необходимое GetFrameMoveRects для хранения сведений о перемещаемых областях в буфере в pMoveRectBuffer.
Дополнительные сведения о возврате требуемого размера буфера см. в разделе Примечания.
Возвращаемое значение
GetFrameMoveRects возвращает:
- S_OK, успешно ли получена информация о перемещенных прямоугольниках.
- DXGI_ERROR_ACCESS_LOST, если интерфейс дублирования рабочего стола недопустим. Интерфейс дублирования рабочего стола обычно становится недопустимым, если на рабочем столе отображается изображение другого типа. Примеры такой ситуации:
- Переключатель рабочего стола
- Изменение режима
- Включение DWM, отключение DWM или другого полноэкранного приложения
- DXGI_ERROR_MORE_DATA, если буфер, предоставленный вызывающим приложением, недостаточно велик.
- DXGI_ERROR_INVALID_CALL, если приложение называется GetFrameMoveRects без владения образом рабочего стола.
- E_INVALIDARG, если один из параметров GetFrameMoveRects является неверным; Например, если pMoveRectBuffer имеет значение NULL.
- Возможно, другие коды ошибок, описанные в DXGI_ERROR разделе.
Комментарии
GetFrameMoveRects сохраняет значение размера в переменной pMoveRectsBufferSizeRequired. Это значение указывает количество байтов, необходимых GetFrameMoveRects для хранения сведений о перемещенных регионах. Это значение можно использовать в следующих ситуациях, чтобы определить объем памяти, выделяемой для будущих буферов, которые передаются в pMoveRectBuffer:
- GetFrameMoveRects завершается сбоем с DXGI_ERROR_MORE_DATA, так как буфер недостаточно велик.
- GetFrameMoveRects предоставляет буфер, который больше необходимого. Значение размера, возвращаемое в pMoveRectsBufferSizeRequired , сообщает вызывающей объекту, сколько буферного пространства фактически использовалось по сравнению с объемом буферного пространства, выделенного вызывающим объектом и указанного в параметре MoveRectsBufferSize .
Буфер содержит список элементов RECT перемещения для текущего кадра.
Требования
Минимальная версия клиента | Windows 8 [только классические приложения] |
Минимальная версия сервера | Windows Server 2012 [только классические приложения] |
Целевая платформа | Windows |
Header | dxgi1_2.h |
Библиотека | Dxgi.lib |