gpt4 book ai didi

memory-management - 在 VB 中使用 COM 对象时如何正确管理内存?

转载 作者:行者123 更新时间:2023-12-01 02:57:25 25 4
gpt4 key购买 nike

有人可以解释一下当我们在 COM 对象和 VB 之间传递值时内存分配/解除分配是如何发生的。

我的担忧是:
1.

IMyInterface::Method1 ([in] BSTR* pVal, [in] SAFEARRAY(BSTR)* pArray);

我们是否需要为 COM 对象内部的上述参数释放分配的内存?

2.
IMyInterface::Method2 ([in, out] BSTR* pVal);

在这种情况下,VB 会负责为 COM 返回值释放内存吗? (COM 对象为这些返回值分配内存)

3.
IProxy_MyInterface::Event1 ([in] BSTR* pVal);

一旦事件在 VB 内部被处理,VB 会再次处理参数内存的解除分配吗?

感谢你的帮助。

谢谢

最佳答案

阅读官方文档 ( Allocating and Releasing Memory for a BSTR ):

http://msdn.microsoft.com/en-us/library/xda6xzx7.aspx

这是您所有案例的描述。

关于memory-management - 在 VB 中使用 COM 对象时如何正确管理内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2350353/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com