Partager via


MÉTHODE IMFDXGIDeviceManager ::ResetDevice (mfobjects.h)

Définit l’appareil Microsoft Direct3D ou avertit le gestionnaire d’appareils que l’appareil Direct3D a été réinitialisé.

Syntaxe

HRESULT ResetDevice(
  [in] IUnknown *pUnkDevice,
  [in] UINT     resetToken
);

Paramètres

[in] pUnkDevice

Pointeur vers l’interface IUnknown de l’appareil DXGI.

[in] resetToken

Jeton reçu dans le paramètre pResetToken de la fonction MFCreateDXGIDeviceManager .

Valeur retournée

Si cette méthode réussit, elle retourne S_OK. Sinon, elle retourne un code d’erreur HRESULT.

Remarques

Lorsque vous créez le Gestionnaire de périphériques DXGI pour la première fois, appelez cette méthode avec un pointeur vers l’appareil Direct3D. (Le gestionnaire de périphériques ne crée pas l’appareil ; l’appelant doit fournir le pointeur de l’appareil au départ.) Appelez également cette méthode si l’appareil Direct3D est perdu et que vous devez réinitialiser l’appareil ou créer un appareil.

Le paramètre resetToken garantit que seul le composant qui a créé le gestionnaire d’appareils peut invalider l’appareil actuel.

Si cette méthode réussit, tous les handles d’appareil ouverts deviennent non valides.

Pour créer un appareil Microsoft Direct3D 11, appelez D3D11CreateDevice.

L’appareil doit être créé avec l’indicateur de création d’appareil D3D11_CREATE_DEVICE_VIDEO_SUPPORT qui est défini dans l’énumération D3D11_CREATE_DEVICE_FLAG .

Il est recommandé d’utiliser la protection multithread sur le contexte de l’appareil pour éviter les problèmes d’interblocage qui peuvent parfois se produire lorsque vous appelez ID3D11VideoContext ::GetDecoderBuffer ou ID3D11VideoContext ::ReleaseDecoderBuffer. Pour définir la protection multithread, appelez d’abord QueryInterface sur ID3D11Device pour obtenir un pointeur ID3D10Multithread . Appelez ensuite ID3D10Multithread ::SetMultithreadProtected, en passant la valeur true pour bMTProtect.

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 (include Mfidl.h)

Voir aussi

IMFDXGIDeviceManager