什么是Win32消息编组?

c00000fd

如果我阅读了PostMessage API的说明,则有以下句子:

系统仅编组系统消息(0到(WM_USER-1)范围内的消息)。要将其他消息(那些> = WM_USER)发送到另一个进程,必须进行自定义编组。

我很好奇,“信息编组”是什么?

雷米·勒博

消息有时在其参数中传递指向内存缓冲区的指针。如果您将内存地址从一个进程原样发送到另一个进程,则该地址在接收进程中的含义将不同。

对于系统消息,如WM_SETTEXTWM_COPYDATA例如,操作系统知道如何与这些邮件的内存缓冲区的工作。在跨进程发送此类消息时,操作系统会在接收进程中自动分配一个适当的内存缓冲区,并用原始数据的副本填充它。然后,在将消息传递到目标消息处理程序之前,将消息参数调整为指向新的内存地址。

对于包含指针的自定义消息,操作系统无法自动为您封送数据,因此您必须执行自己的自定义封送处理。

这就是信息封送处理的目的。以一种安全的方式将外部引用的数据从一个进程复制到另一个进程,以便消息中的任何指针在接收进程的地址空间内都有意义。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

未定义的WIN32消息

来自分类Dev

在Linux中,什么相当于Win32消息泵?

来自分类Dev

为什么在线程化时win32消息循环停止工作?

来自分类Dev

如何处理Win32错误消息的占位符?

来自分类Dev

如何正确处理Win32 GUI消息循环?

来自分类Dev

适用于OpenGL的Win32主消息循环

来自分类Dev

Win32的Cortana

来自分类Dev

Win32线程

来自分类Dev

win32 ExportAsFixedFormat

来自分类Dev

为什么Win32没有僵尸线程问题?

来自分类Dev

为什么我的win32程序需要提升?

来自分类Dev

Win32 API函数GetExplicitEntriesFromAcl()的对应项是什么?

来自分类Dev

@INC中的Win32 / Process.pm是什么?

来自分类Dev

为什么Win32没有僵尸线程问题?

来自分类Dev

为什么在 WIN32 项目中需要 MyRegisterClass() 函数?

来自分类Dev

Win32 mkdir与_mkdir

来自分类Dev

Python Win32:错误

来自分类Dev

GetMenuBarInfo()Win32函数

来自分类Dev

C ++,Win32错误

来自分类Dev

如何将Win32鼠标消息转换为WPF鼠标事件?

来自分类Dev

输入消息:Win32上的[MSC v.1500 64位(AMD64)]

来自分类Dev

是否可以创建无法通过枚举找到的Win32消息传递窗口?

来自分类Dev

Win32中是否有消息或通知可检测用户何时更改区域设置?

来自分类Dev

Win32并在WindowProcedure外部捕获WM_SIZE消息

来自分类Dev

WM_COMMAND内的消息框不起作用!(WIN32 API)

来自分类Dev

我是否有Microsoft资源来翻译Windows Winapi / Win32 / system错误消息?

来自分类Dev

Win32消息泵和用于创建OpenGL上下文和渲染的std :: thread

来自分类Dev

错误消息:Node.exe不是有效的Win32应用程序

来自分类Dev

如何使屏幕阅读器阅读WPF消息的方式类似于阅读Win32 MessageBox?

Related 相关文章

热门标签

归档