为啥不让应用程序在抓到消息(通过GetMessage())之后,直接调用窗口函数处理消息呢

为什么不让应用程序在抓到消息(通过GetMessage())之后,直接调用窗口函数处理消息呢?
windows的窗口过程函数,也就是向windows注册的窗体类的lpfnWndProc项所指向的函数,都被设计为回调函数呢? 

为什么不让应用程序在抓到消息(通过GetMessage())之后,直接调用窗口函数处理消息呢? 

侯捷在《深入浅出MFC中》,曾简单提到原因为“除了你需要调用它,有很多时候操作系统也需要调用你的窗口函数(例如当某个消息产生或某个事件发生)。窗口函数设计为callback形式,才能开放出一个接口给操作系统调用。” 
我不太明白 ……
------解决方案--------------------
这个很好理解,你的程序在GetMessage()之后调用窗口函数,是在一个进程里,也就是说地址都是共享的,如果是别的进程需要发消息给你,由于不在一个进程,它即使获取你的窗口函数也没用,因为地址根本无法访问,所以这种情况下,只能通过回调这种机制来实现消息的响应
当然还有别的原因,回调有个好处,就是调用方不需要知道具体的函数,只要发消息即可,这样可以降低程序的耦合度,更好的实现模块化