Bagikan melalui


Metode IDirect3DDeviceManager9::GetVideoService (dxva2api.h)

Mendapatkan antarmuka layanan DirectX Video Acceleration (DXVA).

Sintaks

HRESULT GetVideoService(
  [in]  HANDLE hDevice,
  [in]  REFIID riid,
  [out] void   **ppService
);

Parameter

[in] hDevice

Handel ke perangkat Direct3D. Untuk mendapatkan handel perangkat, panggil IDirect3DDeviceManager9::OpenDeviceHandle.

[in] riid

Pengidentifikasi antarmuka (IID) dari antarmuka yang diminta. Perangkat Direct3D mungkin mendukung antarmuka layanan DXVA berikut:

[out] ppService

Menerima penunjuk ke antarmuka yang diminta. Pemanggil harus merilis antarmuka.

Menampilkan nilai

Metode mengembalikan HRESULT. Nilai yang mungkin termasuk, tetapi tidak terbatas pada, yang ada dalam tabel berikut.

Menampilkan kode Deskripsi
S_OK
Metode berhasil.
DXVA2_E_NEW_VIDEO_DEVICE
Handel perangkat tidak valid.
DXVA2_E_NOT_AVAILABLE
Perangkat Direct3D tidak mendukung akselerasi video.
DXVA2_E_NOT_INITIALIZED
Manajer perangkat Direct3D tidak diinisialisasi. Pemilik perangkat harus memanggil IDirect3DDeviceManager9::ResetDevice.
E_HANDLE
Handel yang ditentukan bukan handel perangkat Direct3D.

Keterangan

Jika metode mengembalikan DXVA2_E_NEW_VIDEO_DEVICE, panggil IDirect3DDeviceManager9::CloseDeviceHandle untuk menutup handel lalu panggil OpenDeviceHandle lagi untuk mendapatkan handel baru. Metode IDirect3DDeviceManager9::ResetDevice membatalkan semua handel perangkat terbuka.

Contoh

HRESULT GetVideoProcessorService(
    IDirect3DDeviceManager9 *pDeviceManager,
    IDirectXVideoProcessorService **ppVPService
    )
{
    *ppVPService = NULL;

    HANDLE hDevice;

    HRESULT hr = pDeviceManager->OpenDeviceHandle(&hDevice);
    if (SUCCEEDED(hr))
    {
        // Get the video processor service 
        HRESULT hr2 = pDeviceManager->GetVideoService(
            hDevice, 
            IID_PPV_ARGS(ppVPService)
            );

        // Close the device handle.
        hr = pDeviceManager->CloseDeviceHandle(hDevice);

        if (FAILED(hr2))
        {
            hr = hr2;
        }
    }

    if (FAILED(hr))
    {
        SafeRelease(ppVPService);
    }

    return hr;
}

Persyaratan

   
Klien minimum yang didukung Windows Vista [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2008 [hanya aplikasi desktop]
Target Platform Windows
Header dxva2api.h

Lihat juga

Pemrosesan Video DXVA

Manajer Perangkat Direct3D

Akselerasi Video DirectX 2.0

IDirect3DDeviceManager9