【发布时间】:2013-06-18 05:20:48
【问题描述】:
我有一个问题,即何时需要使用 SafeArrayAccessData 来锁定由托管代码传递的 SAFEARRAY。 这是我们的代码。 VARIANT 由托管代码传递,带有一个字符串数组。在代码审查期间,有人建议使用 SafeArrayAccessData/SafeArrayUnAccessData。但他不确定为什么以及有什么好处。你能分享一些你的经验吗?谢谢!
STDMETHODIMP Base::Method1(VARIANT values, VARIANT_BOOL result)
{
CComSafeArray<BSTR> ids;
ids.Attach(values.parray);
unsigned int size = ids.GetCount();
for(unsigned int i = 0; i < size; ++i)
{
// use ids[i] here
}
// ...
}
【问题讨论】: