Метод IDXGIOutputDuplication::MapDesktopSurface (dxgi1_2.h)
Предоставляет ЦП эффективный доступ к образу рабочего стола, если этот образ рабочего стола уже находится в системной памяти.
Синтаксис
HRESULT MapDesktopSurface(
[out] DXGI_MAPPED_RECT *pLockedRect
);
Параметры
[out] pLockedRect
Указатель на структуру DXGI_MAPPED_RECT , которая получает данные поверхности, необходимые ЦП для прямого доступа к данным поверхности.
Возвращаемое значение
MapDesktopSurface возвращает:
- S_OK, если он успешно извлек данные поверхности.
- DXGI_ERROR_ACCESS_LOST, если интерфейс дублирования рабочего стола недопустим. Интерфейс дублирования рабочего стола обычно становится недопустимым, если на рабочем столе отображается изображение другого типа. Примеры такой ситуации:
- Переключатель рабочего стола
- Изменение режима
- Включение DWM, отключение DWM или другого полноэкранного приложения
- DXGI_ERROR_INVALID_CALL, если приложение уже имеет выдающуюся карту на изображении рабочего стола. Приложение должно вызвать UnMapDesktopSurface , прежде чем снова вызвать MapDesktopSurface . DXGI_ERROR_INVALID_CALL также возвращается, если приложение не владело изображением рабочего стола при вызове MapDesktopSurface.
- DXGI_ERROR_UNSUPPORTED, если образ рабочего стола не находится в системной памяти. В этом случае приложение должно сначала передать изображение на промежуточную поверхность, а затем заблокировать изображение, вызвав метод IDXGISurface::Map .
- E_INVALIDARG, если параметр pLockedRect неверен; Например, если pLockedRect имеет значение NULL.
- Возможно, другие коды ошибок, описанные в DXGI_ERROR разделе.
Комментарии
Вы можете успешно вызвать MapDesktopSurface , если для элемента DesktopImageInSystemMemoryструктуры DXGI_OUTDUPL_DESC задано значение TRUE. Если desktopImageInSystemMemory имеет значение FALSE, MapDesktopSurface возвращает DXGI_ERROR_UNSUPPORTED. Вызовите IDXGIOutputDuplication::GetDesc , чтобы получить структуру DXGI_OUTDUPL_DESC .
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 8 [только классические приложения] |
Минимальная версия сервера | Windows Server 2012 [только классические приложения] |
Целевая платформа | Windows |
Header | dxgi1_2.h |
Библиотека | Dxgi.lib |