1
可以使用COM 32位进程服务器在64位进程上进行GDI绘图吗?在32位和64位应用程序中使用GDi绘图
可以使用COM 32位进程服务器在64位进程上进行GDI绘图吗?在32位和64位应用程序中使用GDi绘图
是的,它可以。对于GDI对象句柄和窗口句柄,可以保证在64位模式下只使用低32位,因此在32位和64位之间传递这些数据应该是安全的。当然,COM服务器必须没有进程。
引用在64位的Windows,一个过程外的32位COM服务器可以与一个64位的客户端进行通信,和一个进程外-64位COM服务器可以与32位客户端进行通信。因此,如果您有一个不支持COM的32位DLL,则可以将其封装在一个进程外COM服务器中,并使用COM封送来自64位进程的调用。视窗的
类似地,从this page
64位版本的使用32位处理对互操作性。在32位和64位应用程序之间共享句柄时,只有较低的32位是有意义的,因此可以安全地截断句柄(将它从64位传递到32位时)或签名扩展句柄(当它从32位传递到64位)。可以共享的句柄包括用户对象(如窗口(HWND))的句柄,GDI对象(如钢笔和画笔(HBRUSH和HPEN))的句柄,以及指向对象(例如互斥锁,信号量和文件句柄)的句柄。