Compartir a través de


Método IMFDXGIDeviceManager::ResetDevice (mfobjects.h)

Establece el dispositivo Microsoft Direct3D o notifica al administrador de dispositivos que se ha restablecido el dispositivo Direct3D.

Sintaxis

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

Parámetros

[in] pUnkDevice

Puntero a la interfaz IUnknown del dispositivo DXGI.

[in] resetToken

Token recibido en el parámetro pResetToken de la función MFCreateDXGIDeviceManager .

Valor devuelto

Si este método se realiza correctamente, devuelve S_OK. De lo contrario, devuelve un código de error de HRESULT.

Comentarios

Cuando cree por primera vez el Administrador de dispositivos DXGI, llame a este método con un puntero al dispositivo Direct3D. (El administrador de dispositivos no crea el dispositivo; el autor de la llamada debe proporcionar inicialmente el puntero del dispositivo). También llama a este método si el dispositivo Direct3D se pierde y necesitas restablecer el dispositivo o crear un nuevo dispositivo.

El parámetro resetToken garantiza que solo el componente que creó originalmente el administrador de dispositivos puede invalidar el dispositivo actual.

Si este método se realiza correctamente, todos los identificadores de dispositivo abiertos no son válidos.

Para crear un dispositivo Microsoft Direct3D 11, llame a D3D11CreateDevice.

El dispositivo debe crearse con la marca de creación de dispositivos D3D11_CREATE_DEVICE_VIDEO_SUPPORT que se define en la enumeración D3D11_CREATE_DEVICE_FLAG .

Se recomienda usar la protección de varios subprocesos en el contexto del dispositivo para evitar problemas de interbloqueo que a veces pueden producirse al llamar a ID3D11VideoContext::GetDecoderBuffer o ID3D11VideoContext::ReleaseDecoderBuffer. Para establecer la protección de varios subprocesos, primero llame a QueryInterface en ID3D11Device para obtener un puntero ID3D10Multithread . A continuación, llame a ID3D10Multithread::SetMultithreadProtected y pase true para bMTProtect.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 8 [aplicaciones de escritorio | Aplicaciones para UWP]
Servidor mínimo compatible Windows Server 2012 [aplicaciones de escritorio | Aplicaciones para UWP]
Plataforma de destino Windows
Encabezado mfobjects.h (include Mfidl.h)

Consulte también

IMFDXGIDeviceManager