Метод IDCompositionDevice2::CreateVirtualSurface (dcomp.h)
Создает слабо заполненную поверхность, которая может быть связана с одним или несколькими визуальными элементами для композиции.
Синтаксис
HRESULT CreateVirtualSurface(
[in] UINT initialWidth,
[in] UINT initialHeight,
[in] DXGI_FORMAT pixelFormat,
[in] DXGI_ALPHA_MODE alphaMode,
[out] IDCompositionVirtualSurface **virtualSurface
);
Параметры
[in] initialWidth
Тип: UINT
Ширина поверхности в пикселях. Максимальная ширина составляет 16 777 216 пикселей.
[in] initialHeight
Тип: UINT
Высота поверхности в пикселях. Максимальная высота составляет 16 777 216 пикселей.
[in] pixelFormat
Тип: DXGI_FORMAT
Формат пикселей поверхности.
[in] alphaMode
Тип: DXGI_ALPHA_MODE
Значение альфа-канала, если формат пикселей содержит альфа-канал. Может иметь одно из следующих значений.
[out] virtualSurface
Тип: IDCompositionVirtualSurface**
Вновь созданный объект surface. Этот параметр не должен иметь значение NULL.
Возвращаемое значение
Тип: HRESULT
Если функция завершается успешно, она возвращает S_OK. В противном случае возвращается код ошибки HRESULT . Список кодов ошибок см. в разделе Коды ошибок DirectComposition .
Комментарии
Разреженная поверхность Microsoft DirectComposition — это логический объект, который ведет себя как прямоугольный массив пикселей, который может быть связан с визуальным элементом для композиции. Поверхность не обязательно поддерживается физическим видео или системной памятью для каждого пикселя. Приложение может реализовать или виртуализировать части логической поверхности в разное время.
Созданный объект surface находится в неинициализированном состоянии. Пока она не инициализирована, поверхность не влияет на состав визуального дерева. Он ведет себя точно так же, как поверхность, которая инициализирована 100 % прозрачными пикселями.
Чтобы инициализировать поверхность с пиксельными данными, используйте методы IDCompositionSurface::BeginDraw и IDCompositionSurface::EndDraw . Этот метод не только предоставляет пиксели для поверхности, но и выделяет фактическое дисковое пространство для этих пикселей. Выделение памяти сохраняется до тех пор, пока приложение не вернет часть памяти в систему. Приложение может освободить часть или всю выделенную память, вызвав метод IDCompositionVirtualSurface::Trim .
Поверхности DirectComposition поддерживают следующие форматы пикселей:
- DXGI_FORMAT_B8G8R8A8_UNORM
- DXGI_FORMAT_R8G8B8A8_UNORM
- DXGI_FORMAT_R16G16B16A16_FLOAT
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 8.1 [только классические приложения] |
Минимальная версия сервера | Windows Server 2012 R2 [только классические приложения] |
Целевая платформа | Windows |
Header | dcomp.h |
Библиотека | Dcomp.lib |
DLL | Dcomp.dll |