Интерфейс IDXGIOutputDuplication (dxgi1_2.h)
Интерфейс IDXGIOutputDuplication обращается к дублированному образу рабочего стола и управляет им.
Наследование
Интерфейс IDXGIOutputDuplication наследуется от IDXGIObject. IDXGIOutputDuplication также имеет следующие типы элементов:
Методы
Интерфейс IDXGIOutputDuplication содержит следующие методы.
IDXGIOutputDuplication::AcquireNextFrame Указывает, что приложение готово к обработке следующего образа рабочего стола. |
IDXGIOutputDuplication::GetDesc Извлекает описание повторяющихся выходных данных. В этом описании указываются размеры поверхности, содержащей изображение рабочего стола. |
IDXGIOutputDuplication::GetFrameDirtyRects Возвращает сведения о грязное прямоугольника для текущего кадра рабочего стола. |
IDXGIOutputDuplication::GetFrameMoveRects Возвращает сведения о перемещенных прямоугольниках для текущего кадра рабочего стола. |
IDXGIOutputDuplication::GetFramePointerShape Возвращает сведения о новой фигуре указателя для текущего кадра рабочего стола. |
IDXGIOutputDuplication::MapDesktopSurface Предоставляет ЦП эффективный доступ к образу рабочего стола, если этот образ рабочего стола уже находится в системной памяти. |
IDXGIOutputDuplication::ReleaseFrame Указывает, что приложение завершило обработку кадра. |
IDXGIOutputDuplication::UnMapDesktopSurface Делает недействительным указатель на изображение рабочего стола, полученное с помощью IDXGIOutputDuplication::MapDesktopSurface. |
Комментарии
Приложение для совместной работы может использовать IDXGIOutputDuplication для доступа к образу рабочего стола. IDXGIOutputDuplication поддерживается в диспетчере окон рабочего стола (DWM) в полноэкранных режимах DirectX, отличных от 8bpp, и в полноэкранных режимах OpenGL, отличных от 8bpp. 16-разрядные или 32-разрядные режимы рабочего стола GDI без DWM не поддерживаются.
Приложение может использовать IDXGIOutputDuplication в отдельном потоке для получения образов рабочего стола и их отправки в конкретный конвейер обработки изображений. Приложение использует IDXGIOutputDuplication для выполнения следующих операций:
- Получите следующий образ рабочего стола.
- Получение сведений, описывающих изображение.
- Выполните операцию с изображением. Эта операция может быть такой же простой, как копирование изображения в промежуточный буфер, чтобы приложение удобочитало пиксельные данные на изображении. Приложение считывает данные пикселей после вызова IDXGISurface::Map. Кроме того, эта операция может быть более сложной. Например, приложение может запускать некоторые пиксельные шейдеры в обновленных областях изображения для кодирования этих областей для передачи клиенту.
- После того как приложение завершит обработку каждого образа рабочего стола, оно освобождает образ, выполняет цикл к шагу 1 и повторяет шаги. Приложение повторяет эти действия, пока не завершит обработку образов рабочих столов.
- DWM путем создания образа рабочего стола
- Полноэкранное приложение DirectX или OpenGL
- Приложение путем переключения на отдельный рабочий стол, например безопасный рабочий стол, который используется для отображения экрана входа
Примеры ситуаций, в которых IDXGIOutputDuplication становится недопустимым:
- Переключатель рабочего стола
- Изменение режима
- Включение, отключение DWM или другое полноэкранное приложение
Пока приложение обрабатывает каждый образ рабочего стола, операционная система накапливает все обновления образа рабочего стола в одно обновление. Дополнительные сведения об обновлениях рабочего стола см. в разделе Обновление данных образа рабочего стола.
Изображение рабочего стола всегда имеет DXGI_FORMAT_B8G8R8A8_UNORM формате.
Интерфейс IDXGIOutputDuplication не существует для приложений Магазина Windows.
Требования
Минимальная версия клиента | Windows 8 [только классические приложения] |
Минимальная версия сервера | Windows Server 2012 [только классические приложения] |
Целевая платформа | Windows |
Header | dxgi1_2.h |