IMFDXGIDeviceManager::ResetDevice-Methode (mfobjects.h)
Legt das Microsoft Direct3D-Gerät fest oder benachrichtigt den Geräte-Manager, dass das Direct3D-Gerät zurückgesetzt wurde.
Syntax
HRESULT ResetDevice(
[in] IUnknown *pUnkDevice,
[in] UINT resetToken
);
Parameter
[in] pUnkDevice
Ein Zeiger auf die IUnknown-Schnittstelle des DXGI-Geräts.
[in] resetToken
Das Token, das im pResetToken-Parameter der MFCreateDXGIDeviceManager-Funktion empfangen wurde.
Rückgabewert
Wenn diese Methode erfolgreich ist, wird S_OK zurückgegeben. Andernfalls wird ein Fehlercode HRESULT zurückgegeben.
Hinweise
Rufen Sie beim erstellen der DXGI-Geräte-Manager diese Methode mit einem Zeiger auf das Direct3D-Gerät auf. (Der Geräte-Manager erstellt das Gerät nicht. Der Aufrufer muss den Gerätezeiger zunächst bereitstellen.) Rufen Sie auch diese Methode auf, wenn das Direct3D-Gerät verloren geht und Sie das Gerät zurücksetzen oder ein neues Gerät erstellen müssen.
Der parameter resetToken stellt sicher, dass nur die Komponente, die ursprünglich den Geräte-Manager erstellt hat, das aktuelle Gerät ungültig macht.
Wenn diese Methode erfolgreich ist, werden alle geöffneten Gerätehandles ungültig.
Um ein Microsoft Direct3D 11-Gerät zu erstellen, rufen Sie D3D11CreateDevice auf.
Das Gerät sollte mit dem D3D11_CREATE_DEVICE_VIDEO_SUPPORT Geräteerstellungsflag erstellt werden, das in der D3D11_CREATE_DEVICE_FLAG-Enumeration definiert ist.
Es wird empfohlen, den Multithreadschutz im Gerätekontext zu verwenden, um Deadlockprobleme zu verhindern, die manchmal auftreten können, wenn Sie ID3D11VideoContext::GetDecoderBuffer oder ID3D11VideoContext::ReleaseDecoderBuffer aufrufen. Um den Multithreadschutz festzulegen, rufen Sie zuerst QueryInterface unter ID3D11Device auf, um einen ID3D10Multithread-Zeiger abzurufen. Rufen Sie dann ID3D10Multithread::SetMultithreadProtected auf, und übergeben Sie true für bMTProtect.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 8 [Desktop-Apps | UWP-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2012 [Desktop-Apps | UWP-Apps] |
Zielplattform | Windows |
Kopfzeile | mfobjects.h (include Mfidl.h) |