IMFDXGIDeviceManager::ResetDevice 메서드(mfobjects.h)

Microsoft Direct3D 디바이스를 설정하거나 장치 관리자에게 Direct3D 디바이스가 재설정되었음을 알 수 있습니다.

구문

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

매개 변수

[in] pUnkDevice

DXGI 디바이스의 IUnknown 인터페이스에 대한 포인터입니다.

[in] resetToken

MFCreateDXGIDeviceManager 함수의 pResetToken 매개 변수에서 받은 토큰입니다.

반환 값

메서드가 성공하면 S_OK를 반환하고, 그러지 않으면 HRESULT 오류 코드를 반환합니다.

설명

DXGI 장치 관리자 처음 만들 때 Direct3D 디바이스에 대한 포인터를 사용하여 이 메서드를 호출합니다. (디바이스 관리자는 디바이스를 만들지 않습니다. 호출자는 처음에 디바이스 포인터를 제공해야 합니다.) 또한 Direct3D 디바이스가 손실되고 디바이스를 다시 설정하거나 새 디바이스를 만들어야 하는 경우 이 메서드를 호출합니다.

resetToken 매개 변수는 원래 디바이스 관리자를 만든 구성 요소만 현재 디바이스를 무효화할 수 있도록 합니다.

이 메서드가 성공하면 열려 있는 모든 디바이스 핸들이 무효화됩니다.

Microsoft Direct3D 11 디바이스를 만들려면 D3D11CreateDevice를 호출합니다.

D3D11_CREATE_DEVICE_FLAG 열거형에 정의된 D3D11_CREATE_DEVICE_VIDEO_SUPPORT 디바이스 만들기 플래그를 사용하여 디바이스를 만들어야 합니다.

디바이스 컨텍스트에서 다중 스레드 보호를 사용하여 ID3D11VideoContext::GetDecoderBuffer 또는 ID3D11VideoContext::ReleaseDecoderBuffer를 호출할 때 발생할 수 있는 교착 상태 문제를 방지하는 것이 좋습니다. 다중 스레드 보호를 설정하려면 먼저 ID3D11Device에서 QueryInterface를 호출하여 ID3D10Multithread 포인터를 가져옵니다. 그런 다음, ID3D10Multithread::SetMultithreadProtected를 호출하고 bMTProtect에 대해 true를 전달합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 8 [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows Server 2012 [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 mfobjects.h(Mfidl.h 포함)

추가 정보

IMFDXGIDeviceManager