Making an agile version of a Windows Runtime delegate in C++/WinRT, part 1 - The Old New Thing
2 days ago
- 问题:来自外部源的 C++/WinRT 委托可能不具备敏捷性,导致从不同 COM 上下文调用时出现问题。
- 一个简单的解决方案是将委托包装在 winrt::agile_ref 中,然后在调用时使用 lambda 函数将其解析回委托。
- 提供的模板函数 make_agile_delegate 捕获 agile_ref 并使用转发的参数调用其 get() 方法。
- 文章暗示这只是一个部分解决方案,更多细节将在第 2 部分中介绍。