C# 传递数组参数到
C# 调用
string []dropFiles = {“1”, “2”, “3”};
object fileList = dropFiles;
comWrapper.somemethod( ref fileList);
C++ COM函数定义
STDMETHODIMP CcomWrapper::somemethod( VARIANT* fileList )
{
。。。。。。。
ong len=fileList->parray->rgsabound[0].cElements;
BSTR *pData=new BSTR[len];
for (LONG i=0;i < len; i++)
{
::SafeArrayGetElement(fileList->parray,&i,pData+i);
}
。。。。。。。。
}
COM 返回数组到 C#
COM
[id(16), helpstring("method GetAllButtons")] HRESULT GetAllButtons([in] IUnknown* pDSMenu,[out,retval]