????????[DllImport("USBIOX.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.Cdecl)]
??????? public static extern ulong USBIO_GetVersion();
?獲得DLL版本號是可以的,??版本號?6959871503894577177?ulong
?
?????????[DllImport("USBIOX.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
??????? public unsafe static extern IntPtr USBIO_OpenDevice(ulong iIndex);
打開CH341設(shè)備,返回句柄 總是出現(xiàn)
調(diào)用導致堆棧不對稱。原因可能是托管的 PInvoke 簽名與非托管的目標簽名不匹配。請檢查 PInvoke 簽名的調(diào)用約定和參數(shù)與非托管的目標簽名是否匹配。
?
IntPtr 換成void* 也一樣,StdCall換成Cdecl 也一樣,ulong換成uint64也一樣
我應(yīng)該怎么用啊?~~~~~~~~
?
參考例程C代碼:
HANDLE?WINAPI?USBIO_OpenDevice(? // 打開CH341設(shè)備,返回句柄,出錯則無效
?ULONG???iIndex );? // 指定CH341設(shè)備序號,0對應(yīng)第一個設(shè)備
搜索查了說HANDLE? 可用IntPtr 直接代替