Метод IDCompositionSurfaceFactory::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
Ширина поверхности в пикселях. Максимальная ширина составляет 16 777 216 пикселей.
[in] initialHeight
Высота поверхности в пикселях. Максимальная высота составляет 16 777 216 пикселей.
[in] pixelFormat
Формат пикселей поверхности.
[in] alphaMode
Формат альфа-канала, если альфа-канал включен в формат пикселей. Это может быть один из DXGI_ALPHA_MODE_PREMULTIPLIED или DXGI_ALPHA_MODE_IGNORE. Его также можно DXGI_ALPHA_MODE_UNSPECIFIED, который интерпретируется как DXGI_ALPHA_MODE_IGNORE.
[out] virtualSurface
Созданный объект виртуальной поверхности. Этот параметр не должен иметь значение NULL.
Возвращаемое значение
Если функция выполняется успешно, она возвращает S_OK. В противном случае возвращается код ошибки HRESULT . Список кодов ошибок см. в разделе Коды ошибок DirectComposition .
Комментарии
Созданный виртуальный объект поверхности находится в неинициализированном состоянии. Хотя она не инициализирована, поверхность не влияет на состав визуального дерева. Он ведет себя точно так же, как поверхность, инициализированная со 100 % прозрачными пикселями.
Чтобы инициализировать поверхность с пиксельными данными, используйте метод IDCompositionSurface::BeginDraw . Этот метод не только предоставляет пиксели для поверхности, но и выделяет фактическое дисковое пространство для этих пикселей. Выделение памяти сохраняется до тех пор, пока приложение не вернет часть памяти в систему. Приложение может освободить часть или всю выделенную память, вызвав метод IDCompositionVirtualSurface::Trim или IDCompositionVirtualSurface::Resize .
Поверхности Microsoft 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 |
См. также раздел
IDCompositionDevice2::CreateSurface