说,因为GDI GDI+神马的都是以DXGI为基础的,因此呢,可以利用DXGI1.1的Surface接口的GetDC方法在那啥和那啥之间共享DC。
另外,其实D3D9 ex也可以和DXGI1.1共享surface。只不过啥,unsynchronized.
有俩例子
http://archive.msdn.microsoft.com/DXGISyncSharedSurf
http://archive.msdn.microsoft.com/D3D9ExDXGISharedSurf
但这里貌似有个问题,是先拿到surface再拿到dc,也就是说共享的永远是dxgi那头传出来。也就是说。。。嗯。。
其实俺需要的是一个dc->surface的过程。
共享9Ex共享涉及到几个特别的接口: ISurfaceQueue, ISurfaceProducer, and ISurfaceConsumer.
http://msdn.microsoft.com/en-us/library/ee913554.aspx#interoperability_between_direct3d_9ex_and_dxgi_based_apis