gpt4 book ai didi

c++ - 在 com 中创建字符串数组

转载 作者:太空宇宙 更新时间:2023-11-04 11:48:39 25 4
gpt4 key购买 nike

我是 com 的新手,对 MFC 知之甚少,我们可以在 MFC 中使用 CStringArray 来收集字符串。在下面的 com 组件案例中,我很困惑如何在 com 中使用字符串。以下是案例,我正在开发 com 组件以及也在使用它,在我的 com 组件中以下是功能要求,从 xml 文件中读取二维数组并将其转储到一个通用数组中,例如,

_bstr_t          bstrMember1Name,bstrMember2Name;
IEachData portsDataNode;
while(portsDataNode = CollectionOfData->NextData())
{
if (!GetStringAttribute(portsDataNode, _T("Member1"), bstrMember1Name))
{
hr = E_FAIL;
}
if (!GetStringAttribute(portsDataNode, _T("Member2"), bstrMember2Name))
{
hr = E_FAIL;
}
}

这是函数体,因为我从一个 com companant 调用中获取 Member1 和 Member2 作为返回类型,但我需要收集每个函数和值。那么函数的参数是什么?我如何将 Member1 和 Member2 收集到单个变量中?

最佳答案

对不起。我没有那样理解你的问题。如果你想返回一个数据集合(比如数组),你需要一个 SAFEARRAY。所以使用 SafeArrayCreate。如果它不只是 COM 并且您需要自动化,则必须使用 VARIANT 安全阵列。 SAFEARRAY 可以跨 COM 边界传递。 BSTR 的 SAFEARRAY 是可能的。还有多维数组

关于c++ - 在 com 中创建字符串数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19130792/

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