标签
Raymond Chen continues his series on creating a fake agile wrapper in COM, explaining how to move non-marshalable objects by forwarding references into the force_marshal wrapper and discussing C++/WinRT deduction guides.
Raymond Chen continues his series on creating a fake agile wrapper for non-marshalable COM objects by wrapping them in a marshalable object, enabling registration in the global interface table while preserving undefined-behavior-free failures in other apartments.
Raymond Chen 介绍了一种在 COM 中创建假敏捷包装器的技术,该技术利用全局接口表(GIT)在对象所在的源单元关闭时自动释放对象,从而解决了上下文回调失败的问题。
本文讨论在C++/WinRT中实现敏捷的Windows运行时委托,重点介绍使用CoGetContextToken比较上下文令牌以提高效率,而不是比较COM对象。
这篇博客文章讨论了在C++/WinRT中处理实现INoMarshal接口的Windows运行时代理,提供了一个敏捷的代理包装器,通过检查调用上下文来避免封送错误。
Raymond Chen解释说,COM STA线程仅在空闲时才需要泵送消息;一直忙碌的代码不需要显式的消息循环,但COM仍然会创建一个隐藏窗口,当线程变为空闲时需要泵送消息以避免阻塞窗口广播。