Метод IDXGIFactoryMedia::CreateSwapChainForCompositionSurfaceHandle (dxgi1_3.h)
Создает цепочку буферов YUV для существующего дескриптора поверхности DirectComposition .
Синтаксис
HRESULT CreateSwapChainForCompositionSurfaceHandle(
[in] IUnknown *pDevice,
[in, optional] HANDLE hSurface,
[in] const DXGI_SWAP_CHAIN_DESC1 *pDesc,
[in, optional] IDXGIOutput *pRestrictToOutput,
[out] IDXGISwapChain1 **ppSwapChain
);
Параметры
[in] pDevice
Указатель на устройство Direct3D для цепочки буферов. Этот параметр не может иметь значение NULL. Программные драйверы, такие как D3D_DRIVER_TYPE_REFERENCE, не поддерживаются для цепочек буферов композиции.
[in, optional] hSurface
Дескриптор существующей поверхности DirectComposition . Этот параметр не может иметь значение NULL.
[in] pDesc
Указатель на структуру DXGI_SWAP_CHAIN_DESC1 для описания цепочки буферов. Этот параметр не может иметь значение NULL.
[in, optional] pRestrictToOutput
Указатель на интерфейс IDXGIOutput для цепочки буферов для ограничения содержимого. Если цепочка буферов перемещается в другой выход, содержимое становится черным. При необходимости можно задать для этого параметра целевой объект вывода, который использует DXGI_PRESENT_RESTRICT_TO_OUTPUT для ограничения содержимого в этих выходных данных. Если цепочка буферов перемещается в другой выход, содержимое становится черным.
Необходимо также передать флаг DXGI_PRESENT_RESTRICT_TO_OUTPUT в вызове, чтобы содержимое было затемнено в любых других выходных данных. Если вы хотите ограничить содержимое другими выходными данными, необходимо создать новую цепочку буферов. Однако можно условно ограничить содержимое на основе флага DXGI_PRESENT_RESTRICT_TO_OUTPUT .
Задайте для этого параметра значение NULL , если вы не хотите ограничивать содержимое целевым объектом вывода.
[out] ppSwapChain
Указатель на переменную, которая получает указатель на интерфейс IDXGISwapChain1 для цепочки буферов, создаваемой этим методом.
Возвращаемое значение
CreateSwapChainForCompositionSurfaceHandle возвращает:
- S_OK, если цепочка буферов успешно создана.
- E_OUTOFMEMORY, если память недоступна для завершения операции.
- DXGI_ERROR_INVALID_CALL , если вызывающее приложение предоставило недопустимые данные, например, если pDesc, pYuvDecodeBuffers или ppSwapChain имеет значение NULL.
- Возможно, другие коды ошибок, описанные в разделе DXGI_ERROR , которые определяются типом устройства, передаваемого в pDevice.
Требования
Минимальная версия клиента | Windows 8.1 [только классические приложения] |
Минимальная версия сервера | Windows Server 2012 R2 [только классические приложения] |
Целевая платформа | Windows |
Header | dxgi1_3.h |
Библиотека | Dxgi.lib |
См. также раздел
Для достижения оптимальной производительности используйте модель пролистывания DXGI.