Método IDirectXVideoAccelerationService::CreateSurface (dxva2api.h)
Cria um processador de vídeo DXVA (Aceleração de Vídeo) DirectX ou um destino de renderização do decodificador DXVA.
Sintaxe
HRESULT CreateSurface(
[in] UINT Width,
[in] UINT Height,
[in] UINT BackBuffers,
[in] D3DFORMAT Format,
[in] D3DPOOL Pool,
[in] DWORD Usage,
[in] DWORD DxvaType,
[out] IDirect3DSurface9 **ppSurface,
[in, out] HANDLE *pSharedHandle
);
Parâmetros
[in] Width
A largura da superfície, em pixels.
[in] Height
A altura da superfície, em pixels.
[in] BackBuffers
O número de buffers de fundo. O método cria superfícies BackBuffers + 1.
[in] Format
O formato de pixel, especificado como um valor D3DFORMAT ou código FOURCC. Para obter mais informações, consulte a documentação do Direct3D.
[in] Pool
O pool de memória no qual criar a superfície, especificado como um valor D3DPOOL . Para obter mais informações, consulte a documentação do Direct3D. Os decodificadores geralmente devem usar o valor D3DPOOL_DEFAULT.
[in] Usage
Reservado. Defina esse valor como zero.
[in] DxvaType
O tipo de superfície a ser criado. Use um dos valores a seguir.
Valor | Significado |
---|---|
|
Destino de renderização do decodificador de vídeo. |
|
Destino de renderização do processador de vídeo. Usado para operações IDirectXVideoProcessor::VideoProcessBlt . |
|
Destino de renderização de software. Esse tipo de superfície é usado com dispositivos DXVA de software. |
[out] ppSurface
O endereço de uma matriz de ponteiros IDirect3DSurface9 alocados pelo chamador. O tamanho da matriz deve ser 1 + BackBuffers (suficiente para os buffers traseiros mais um buffer frontal). O método preenche a matriz com ponteiros IDirect3DSurface9 . O chamador deve liberar todos os ponteiros da interface. Além disso, o buffer frontal mantém uma contagem de referência em cada um dos buffers traseiros. Portanto, os buffers de fundo nunca são excluídos até que o buffer frontal seja excluído.
[in, out] pSharedHandle
Um ponteiro para um identificador usado para compartilhar as superfícies entre dispositivos Direct3D. Defina esse parâmetro como NULL.
Valor retornado
O método retorna um HRESULT. Os possíveis valores incluem, mas sem limitação, aqueles na tabela a seguir.
Código de retorno | Descrição |
---|---|
|
O método foi bem-sucedido. |
|
Parâmetro inválido |
|
O Gerenciador de Aceleração de Vídeo DirectX não é inicializado. |
|
Argumento de ponteiro NULL. |
Comentários
Se o método retornar E_FAIL, tente chamar IDirect3DDeviceManager9::ResetDevice para redefinir o Gerenciador de Aceleração de Vídeo do DirectX.
Requisitos
Cliente mínimo com suporte | Windows Vista [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2008 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | dxva2api.h |