C#调用C++函数,参数为指针该怎么处理?

我用C#调用C++的函数 SetRecogID(int *idList,int len) 在C#中该怎么接收处理?

[DllImport(DLLName, EntryPoint = "SetRecogID", CharSet = CharSet.Unicode)]
public static extern int pSetRecogID(?); 括号里的参数该写成什么类型的?
public int SetRecogID(?)
{
拿到值以后直接返回吗?还是这里需要处理一下
return pSetRecogID(?);
}

网上查的说法太多没看明白,求大神指教!
图片说明
图片说明

直接写成,就可以了

[DllImport(DLLName, EntryPoint = "SetRecogID", CharSet = CharSet.Unicode)]
public static extern int pSetRecogID([MarshalAs(UnmanagedType.LPArray,SizeParamIndex=1)] int[] Z ,int len);