首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Win x64中的32位和64位应用程序之间共享硬件?

如何在Win x64中的32位和64位应用程序之间共享硬件?
EN

Stack Overflow用户
提问于 2009-12-01 05:56:50
回答 4查看 11K关注 0票数 22

MSDN告诉我,在Interprocess Communication中,windows的句柄可以在32位和64位应用程序之间共享。然而,在Win32中,HWND是32位,而在64位Windows中是64位。那么如何共享句柄呢?

我猜同样的问题也适用于命名对象的句柄,如互斥锁、信号量和文件句柄。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-12-01 06:08:41

它们可以共享的事实不意味着在Win64进程中只使用低32位吗?Windows句柄是索引而不是指针,至少据我所知,所以除非MS想要允许超过2^32个窗口/文件/互斥等句柄,否则没有理由在Win64上使用高32位的void*

票数 9
EN

Stack Overflow用户

发布于 2009-12-02 07:57:58

我刚刚收到一封来自微软WOW64开发人员的电子邮件,他确认:

句柄是32位的,可以安全地截断/零扩展。对于内核对象句柄和用户/GDI句柄都是如此。

票数 13
EN

Stack Overflow用户

发布于 2010-11-26 23:43:46

请参阅微软接口定义语言(MIDL)移植指南,第12页(http://msdn.microsoft.com/en-us/library/ms810720.aspx)

下面看一下用户和GDI句柄是带符号扩展的32b值

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1822667

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档