首页 > 其他 > 详细

龙书11_chapter_4 二:习题中的Adapter

时间:2015-05-23 06:26:40      阅读:221      评论:0      收藏:0      [点我收藏+]

如何计算设备的Adapter数?

 

主要参考MSDN:  EnumAdapters

在d3dApp.cpp文件InitDirect3D()接口中:

    HR(dxgiFactory->CreateSwapChain(md3dDevice, &sd, &mSwapChain));
    //begin 检测本设备有几个图形卡
    UINT myAdapterNums = 0;
    IDXGIAdapter *pAdapter;
    std::vector<IDXGIAdapter* > vAdapters;//adapter容器
    while (dxgiFactory->EnumAdapters(myAdapterNums,&pAdapter)!=DXGI_ERROR_NOT_FOUND)//获取所有的
    {
        vAdapters.push_back(pAdapter);
        ++myAdapterNums;//计数
    }
    char szBuf[10];
    //memset(szBuf,_T(‘\0‘),sizeof(szBuf));
    //sprintf_s(szBuf,"%d",myAdapterNums);
    _itoa_s(myAdapterNums,szBuf,10);//int --> char*
    int begIndex =  strlen(szBuf);  //计算这个整数有多少位,即在char数组中有几个元素? 
    for (int i=begIndex;i<=9;i++) //对其后的元素全部赋为空, 避免的乱码问题。
    {
        szBuf[i] = \0;
    }
    OutputDebugString(L"Testtttttttttttt:");
    OutputDebugString((LPCTSTR)szBuf);
    //end 检测本设备有几个图形卡

按键F5,调试模式下,可以通过 OutputDebugString在输出栏显示Testttttt:2,也就是我设备两个图形卡

 

龙书11_chapter_4 二:习题中的Adapter

原文:http://www.cnblogs.com/dust-fly/p/4523629.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!