c++ PVOID封装成C#
這是c++中的一個方法:
DWORD __stdcall VCI_SetReference(DWORD DevType, DWORD DevIndex, DWORD CANIndex, DWORD RefType, PVOID pData);
?
想在c#中去調用,PVOID類型整了好久才好使。。。。
?
c++中PVOID是個指針類型,在c#中想傳個string過去,查了好多帖子才發現了這個[MarshalAs(UnmanagedType.LPStr)]string。
?
沒看明白這個是什么意思,但是好使!!!!
?
?
[DllImport("*****")]
?
private static extern Int32 VCI_SetReference(Int32 DevType, Int32 DevIndex, Int32 CANIndex, Int32 RefType, [MarshalAs(UnmanagedType.LPStr)]string pData);
?
?
---------------------------------------------------------------------------------------------------------
?
同樣這個方法 還能再傳個別的類型
?
?
[DllImport("*****")]
private static extern Int32 VCI_SetReference(Int32 DevType, Int32 DevIndex, Int32 CANIndex, Int32 RefType, out Int32 pData);
?
傳個int的指針過去!
總結
以上是生活随笔為你收集整理的c++ PVOID封装成C#的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用Qt Creator远程部署到ARM
- 下一篇: 周立功CAN二次开发接口使用(C#)