求助:调用C++的dll报错。无效的托管/非托管类型组合(Int/UInt 必须与 SysInt 或 SysUInt 成对出现)。
魔力末 2010-11-02 11:47:59 函数原型:
HANDLE WINAPI OpenDisk(char cDrive, const unsigned char *pucLicenseKey = NULL);
我的调用是这么写的!
[DllImport("SDK.dll")]
public static extern void OpenDisk(byte diskName);
报的错误 尝试读取或写入受保护的内存。这通常指示其他内存已损坏。
改成
public static extern IntPtr OpenDisk(IntPtr diskName, [MarshalAs(UnmanagedType.U2)]IntPtr c);
报错:
无法封送处理“parameter #2”: 无效的托管/非托管类型组合(Int/UInt 必须与 SysInt 或 SysUInt 成对出现)。
请帮忙看看啊。实在找不到办法。不知道是哪里的问题。。