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