Partager via


Méthode IMFDXGIDeviceManager ::GetVideoService (mfobjects.h)

Interroge l’appareil Microsoft Direct3D pour une interface.

Syntaxe

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

Paramètres

[in] hDevice

Handle de l’appareil Direct3D. Pour obtenir le handle d’appareil, appelez IMFDXGIDeviceManager ::OpenDeviceHandle.

[in] riid

Identificateur d'interface (IID) de l'interface demandée. L’appareil Direct3D prend en charge les interfaces suivantes :

  • ID3D11Device. Pour obtenir un pointeur vers l’appareil Direct3D11, utilisez IID_ID3D11Device comme riid.
  • ID3D11VideoDevice. Pour obtenir un pointeur vers l’appareil vidéo Direct3D11, utilisez IID_ID3D11VideoDevice comme riid.

[out] ppService

Reçoit un pointeur vers l’interface demandée. L’appelant doit libérer l’interface.

Valeur retournée

Cette méthode peut retourner l’une de ces valeurs.

Code de retour Description
S_OK
Réussite.
E_HANDLE
Le handle spécifié n’est pas un handle d’appareil Direct3D.
MF_E_DXGI_DEVICE_NOT_INITIALIZED
Le Gestionnaire de périphériques DXGI n’a pas été initialisé. Le propriétaire de l’appareil doit appeler IMFDXGIDeviceManager ::ResetDevice.
MF_E_DXGI_NEW_VIDEO_DEVICE
Le handle d’appareil n’est pas valide.
E_NOINTERFACE
Si un ID3D11VideoDevice est spécifié et que l’appareil D3D créé utilise le rastériseur de référence ou WARP. Ou il s’agit d’un appareil matériel et vous utilisez l’adaptateur d’affichage Microsoft Basic.

Remarques

Si la méthode retourne MF_E_DXGI_NEW_VIDEO_DEVICE, appelez IMFDXGIDeviceManager ::CloseDeviceHandle pour fermer le handle, puis appelez à nouveau OpenDeviceHandle pour obtenir un nouveau handle. La méthode IMFDXGIDeviceManager ::ResetDevice invalide tous les handles d’appareil ouverts.

Pour plus d’informations, consultez Prise en charge du décodage vidéo Direct3D 11 dans Media Foundation.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 8 [applications de bureau | Applications UWP]
Serveur minimal pris en charge Windows Server 2012 [applications de bureau | Applications UWP]
Plateforme cible Windows
En-tête mfobjects.h (inclure Mfidl.h)

Voir aussi

IMFDXGIDeviceManager