Share via


Metodo IDirectXVideoAccelerationService::CreateSurface (dxva2api.h)

Crea un processore video DXVA (DirectX Video Acceleration) o una destinazione di rendering del decodificatore DXVA.

Sintassi

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
);

Parametri

[in] Width

Larghezza della superficie, in pixel.

[in] Height

Altezza della superficie, in pixel.

[in] BackBuffers

Numero di buffer back. Il metodo crea superfici BackBuffers + 1.

[in] Format

Formato pixel, specificato come valore D3DFORMAT o codice FOURCC. Per altre informazioni, vedere la documentazione di Direct3D.

[in] Pool

Pool di memoria in cui creare la superficie, specificata come valore D3DPOOL . Per altre informazioni, vedere la documentazione di Direct3D. I decodificatori devono in genere usare il valore D3DPOOL_DEFAULT.

[in] Usage

Riservato. Impostare questo valore su zero.

[in] DxvaType

Tipo di superficie da creare. Usare uno dei valori seguenti.

Valore Significato
DXVA2_VideoDecoderRenderTarget
Destinazione di rendering del decodificatore video.
DXVA2_VideoProcessorRenderTarget
Destinazione di rendering del processore video. Usato per le operazioni IDirectXVideoProcessor::VideoProcessBlt .
DXVA2_VideoSoftwareRenderTarget
Destinazione di rendering del software. Questo tipo di superficie è destinato all'uso con i dispositivi DXVA software.

[out] ppSurface

Indirizzo di una matrice di puntatori IDirect3DSurface9 allocati dal chiamante. Le dimensioni della matrice devono essere 1 + BackBuffers (sufficienti per i buffer nascosto più un buffer anteriore). Il metodo riempie la matrice con puntatori IDirect3DSurface9 . Il chiamante deve rilasciare tutti i puntatori di interfaccia. Inoltre, il buffer anteriore contiene un conteggio dei riferimenti per ognuno dei buffer back. Di conseguenza, i buffer back non vengono mai eliminati fino a quando non viene eliminato il buffer anteriore.

[in, out] pSharedHandle

Puntatore a un handle usato per condividere le superfici tra dispositivi Direct3D. Impostare questo parametro su NULL.

Valore restituito

Il metodo restituisce un valore HRESULT. I valori possibili includono, ma non sono limitati a, quelli indicati nella tabella seguente.

Codice restituito Descrizione
S_OK
Il metodo è riuscito.
D3DERR_INVALIDCALL
Parametro non valido
E_FAIL
La gestione accelerazione video DirectX non viene inizializzata.
E_POINTER
Argomento puntatore NULL.

Commenti

Se il metodo restituisce E_FAIL, provare a chiamare IDirect3DDeviceManager9::ResetDevice per reimpostare DirectX Video Acceleration Manager.

Requisiti

   
Client minimo supportato Windows Vista [solo app desktop]
Server minimo supportato Windows Server 2008 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione dxva2api.h

Vedi anche

Accelerazione video DirectX 2.0

IDirectXVideoAccelerationService