IDirectXVideoAccelerationService::CreateSurface-Methode (dxva2api.h)
Erstellt ein DirectX Video Acceleration (DXVA)-Videoprozessor- oder DXVA-Decoder-Renderziel.
Syntax
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
);
Parameter
[in] Width
Die Breite der Oberfläche in Pixel.
[in] Height
Die Höhe der Oberfläche in Pixel.
[in] BackBuffers
Die Anzahl der Backpuffer. Die Methode erstellt BackBuffers + 1 Oberflächen.
[in] Format
Das Pixelformat, das als D3DFORMAT-Wert oder FOURCC-Code angegeben wird. Weitere Informationen finden Sie in der Direct3D-Dokumentation.
[in] Pool
Der Speicherpool, in dem die Oberfläche erstellt werden soll, der als D3DPOOL-Wert angegeben wird. Weitere Informationen finden Sie in der Direct3D-Dokumentation. Decoder sollten im Allgemeinen den Wert D3DPOOL_DEFAULT verwenden.
[in] Usage
Reserviert. Legen Sie diesen Wert auf 0 fest.
[in] DxvaType
Der Typ der zu erstellenden Oberfläche. Verwenden Sie einen der folgenden Werte.
Wert | Bedeutung |
---|---|
|
Videodecoder-Renderziel. |
|
Videoprozessor-Renderziel. Wird für IDirectXVideoProcessor::VideoProcessBlt-Vorgänge verwendet. |
|
Softwarerenderziel. Dieser Oberflächentyp ist für die Verwendung mit DXVA-Softwaregeräten vorgesehen. |
[out] ppSurface
Die Adresse eines Arrays von IDirect3DSurface9-Zeigern, die vom Aufrufer zugewiesen wurden. Die Größe des Arrays muss 1 + BackBuffers sein (ausreichend für die Backpuffer plus einen Frontpuffer). Die -Methode füllt das Array mit IDirect3DSurface9-Zeigern . Der Aufrufer muss alle Schnittstellenzeiger freigeben. Darüber hinaus enthält der Frontpuffer eine Verweisanzahl für jeden der Backpuffer. Daher werden die Backpuffer erst gelöscht, wenn der Frontpuffer gelöscht wird.
[in, out] pSharedHandle
Ein Zeiger auf einen Handle, der zum Freigeben der Oberflächen zwischen Direct3D-Geräten verwendet wird. Legen Sie diesen Parameter auf NULL fest.
Rückgabewert
Die Methode gibt ein HRESULT zurück. Mögliches Werte (aber nicht die Einzigen) sind die in der folgenden Tabelle.
Rückgabecode | BESCHREIBUNG |
---|---|
|
Die Methode wurde erfolgreich ausgeführt. |
|
Ungültiger Parameter |
|
Der DirectX-Videobeschleunigungs-Manager wird nicht initialisiert. |
|
NULL-Zeigerargument. |
Hinweise
Wenn die Methode E_FAIL zurückgibt, versuchen Sie, IDirect3DDeviceManager9::ResetDevice aufzurufen, um den DirectX Video Acceleration Manager zurückzusetzen.
Anforderungen
Unterstützte Mindestversion (Client) | Windows Vista [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | dxva2api.h |