在 com 中创建字符串数组

Creating array of string in com

本文关键字:字符串 数组 创建 com      更新时间:2023-10-16

我是 com 的新手,对 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;
    }
 }

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

对不起。我以这种方式不理解你的问题。如果要返回数据的集合(例如数组),则需要一个 SAFEARRAY。因此,请使用SafeArrayCreate。如果我不是 COM 并且您需要自动化,则必须使用 VARIANT 安全阵列。安全数组可以跨 COM 边界传递。BSTR 的安全阵列是可能的。还有多维数组