2012-12-10 2 views
1

내 시스템에서 사용 가능한 GPU를 반복하고 각각의 설명을 콘솔에 인쇄하려고합니다. 내가 그들을 검색하는 코드가 있지만 설명을 얻는 방법을 알아낼 수 없습니다. 나는 다이렉트 X 11을 사용하고 error C2259: 'IDXGIAdapter1' : cannot instantiate abstract classDirectX 11 그래픽 카드에 대한 설명

을 밝히는하지만

std::vector <IDXGIAdapter1*> availableAdapters = EnumerateAdapters(); 

for_each(availableAdapters.begin(), availableAdapters.end(), [](IDXGIAdapter1* adapter) { 
    auto myAdapter = *adapter; 
    auto adapterDescription = new DXGI_ADAPTER_DESC1(); 
    myAdapter.GetDesc1(adapterDescription); 
    // Print description to console here 
}); 

내가 auto myAdapter = *adapter; 라인을 가리키는 컴파일 타임 오류가 발생하고, 윈도우 64 비트, 및 Visual Studio 2012는 당신의 도움을 주셔서 감사합니다!

답변

2

auto& myAdapter = *adapter; 
auto adapterDescription = DXGI_ADAPTER_DESC1(); 
myAdapter.GetDesc1(&adapterDescription); 
+1

또는 간단한 시도 :'DXGI_ADAPTER_DESC1 adapterDescription; adapter-> GetDesc1 (& adapterDescription); ' –

+0

고맙습니다. 아름답게 일했습니다! –