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 |
---|---|
|
Destinazione di rendering del decodificatore video. |
|
Destinazione di rendering del processore video. Usato per le operazioni IDirectXVideoProcessor::VideoProcessBlt . |
|
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 |
---|---|
|
Il metodo è riuscito. |
|
Parametro non valido |
|
La gestione accelerazione video DirectX non viene inizializzata. |
|
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 |