摘要

Direct X是主流图形API,在多媒体、娱乐等领域得到广泛应用。为实现图形表面的跨进程共享,从Direct X 10开始使用Direct X图形基础架构(DXGI)对图形硬件进行底层管理。DXGI带来性能提升的同时也给图形应用程序的截获工作带来困难。为完成Direct X 10程序的拦截,需要同时截获多个图形库的函数。针对此问题,完善DLL替换+Detours的图形应用程序截获框架,克服现有截获技术的缺陷,完成Direct X 10程序的截获工作,并解决因DXGI、D3D10图形库间依赖关系产生的进程死锁问题。最后,基于该截获框架,开发出一套单机驱动的多投影显示系统,Direct X 10程序不需做任何修改就能多投影显示。实验结果表明,使用所提出的截获技术后图形应用程序画面流畅,运行稳定。