현재 일부 레거시 코드를 Dx9에서 Dx11로 이식 중입니다. 나는 DirectX에 관한 약간의 초보자이다. 그래서 나랑 벗겨 줘. 나는 D3D 장치와 컨텍스트의 생성 과정을 포팅 할 수 있었지만 유지해야 할 레거시 코드가 있고 Dx11로 포팅하는 방법을 제대로 이해할 수 없습니다.DirectX11 모니터 핸들
문제의 코드는과 같이 모니터의 손잡이를 잡아하기 위해 Win32 함수를 사용:
DEVMODE dm = { 0 };
dm.dmSize = sizeof(DEVMODE);
EnumDisplaySettings("\\\\.\\DISPLAY3", ENUM_CURRENT_SETTINGS, &dm);
POINT p = { dm.dmPosition.x, dm.dmPosition.y };
HMONITOR hMonitorGDI = MonitorFromPoint(p, MONITOR_DEFAULTTONEAREST);
그런 다음 이렇게 같은 D3D9 장치에 연결된 어댑터 모니터를 통해 루프와 일치하는 핸들을 찾습니다를 :
unsigned int uiAdapterCount = m_p_d3d9->GetAdapterCount();
for (unsigned int i = 0; i < uiAdapterCount; ++i) {
HMONITOR hMonitorD3D = m_p_d3d9->GetAdapterMonitor(i);
if (hMonitorD3D == hMonitorGDI)
{
p_is->uiAdapter = i;
break;
}
}
나는 Dx11에서 동등한 작업을 수행하는 방법을 배울 수 없습니다. 나는 DXGIFactory를 생성하는 방법을 배웠고 그것을 통해 어댑터와 출력 (모니터) 정보를 얻었지만 Dx11에서 모니터의 핸들을 검색하는 것과 관련하여 아무 것도 찾을 수없는 것 같습니다.
올바른 방향으로 어떤 도움이나 조언을 주시면 감사하겠습니다. 건배
나는이 질문을하기 전에 모든 단계를 수행하고 Monitor 변수를 놓친다는 것을 믿을 수 없다. 이 얼마나 멍청이. 건배, 매력처럼 작동 :) – TheRarebit