0

在具有 的接口中[in] VARIANT param,调用者是否拥有复制到它的 VARIANT?被调用者是否应该调用VariantClear(或 ATL CComVariant::Attach)该值以确保它被清理?是否有任何地方记录了自动化内存管理规则(以添加到COM 内存管理)?

我知道 an[in] VARIANT *param是调用者拥有的指针,但 an[in] VARIANT param是复制到被调用者的结构,所以有点奇怪。如果所有权没有转移,那么为什么有人甚至会使用 定义接口[in] VARIANT param?在 stdcall x86 和 x86_64 调用约定中,它永远不适合寄存器,因此它并不比 更有效[in] VARIANT *param,因此它似乎毫无意义。

我问是因为我想知道如何实现IUIAutomationPropertyChangedEventHandler::HandlePropertyChangedEvent

4

0 回答 0