1

我有一个使用 C++ COM DLL 的 VB6 应用程序,并且 BSTR 在两者之间传递。我从 C++ DLL 中返回 BSTR,使用return ::SysAllocString(L"example");.

我是否需要SysFreeString在以下示例中调用这样的字符串?

Sub Main()
    Dim own_str As String
    Dim dll_str As String

    own_str = "my own string"
    dll_str = DllComObj.FunctionReturningString()
    ' when leaving the scope:
    ' no need to free own_str,
    ' do I need to free dll_str?
End Sub
4

1 回答 1

3

不,你没有。VB6 将释放它们,因为 BSTR 是其原生字符串格式。

于 2013-01-11T14:51:38.033 回答