Méthode IDirect3DDeviceManager9::GetVideoService (dxva2api.h)
Obtient une interface de service DirectX Video Acceleration (DXVA).
Syntaxe
HRESULT GetVideoService(
[in] HANDLE hDevice,
[in] REFIID riid,
[out] void **ppService
);
Paramètres
[in] hDevice
Handle pour un appareil Direct3D. Pour obtenir un handle d’appareil, appelez IDirect3DDeviceManager9::OpenDeviceHandle.
[in] riid
Identificateur d'interface (IID) de l'interface demandée. L’appareil Direct3D peut prendre en charge les interfaces de service DXVA suivantes :
[out] ppService
Reçoit un pointeur vers l’interface demandée. L’appelant doit libérer l’interface.
Valeur retournée
Cette méthode retourne un code HRESULT. Les valeurs possibles sont notamment celles figurant dans le tableau suivant.
Code de retour | Description |
---|---|
|
S_OK |
|
Le handle d’appareil n’est pas valide. |
|
L’appareil Direct3D ne prend pas en charge l’accélération vidéo. |
|
Le gestionnaire de périphériques Direct3D n’a pas été initialisé. Le propriétaire de l’appareil doit appeler IDirect3DDeviceManager9::ResetDevice. |
|
Le handle spécifié n’est pas un handle d’appareil Direct3D. |
Notes
Si la méthode retourne DXVA2_E_NEW_VIDEO_DEVICE, appelez IDirect3DDeviceManager9::CloseDeviceHandle pour fermer le handle, puis appelez à nouveau OpenDeviceHandle pour obtenir un nouveau handle. La méthode IDirect3DDeviceManager9::ResetDevice invalide tous les descripteurs d’appareil ouverts.
Exemples
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;
}
Spécifications
Client minimal pris en charge | Windows Vista [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2008 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | dxva2api.h |
Voir aussi
Gestionnaire de périphériques Direct3D