gpt4 book ai didi

c++ - CComSafeArray 使用

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

我有一个 Com 函数:

GetData (SAFEARRAY ** pRetVal)

我有以下代码:

SAFEARRAY *ppData = NULL;       
hr = pmyInterface->GetData( &ppData );
CComSafeArray<IUnknown*> pSafeArgs;
pSafeArgs.Attach( ppData );

我必须更改它,删除 ppData,并删除 Attach 命令。

应该是这样的:

CComSafeArray<IUnknown*> pSafeArgs;
hr = pmyInterface->GetData( ((SAFEARRAY**)&pSafeArgs )))

但这行不通。可能是 CComArray 的发布有问题。

我该怎么做?

最佳答案

通常在创建 CComSafeArray 时,您会指定将在其中保存的数据类型,例如:

CComSafeArray<char> pSafeArgs;

要将此提供给您的 COM 函数,您需要执行以下操作:

HRESULT hr = pmyInterface->GetData((LPSAFEARRAY)pSafeArgs);

关于c++ - CComSafeArray 使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9077191/

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