函数的dll原型为:
long TV_StartRecordFile(int,char *,long,long);在C++例子中中调用为
m_FilePath="test.tw";
TV_StartRecordFile(0,m_FilePath.GetBuffer(512),01024*32);我在C#中是这样做的
函数的定义为
[DllImport(@"d:\tw16vid.dll")]
  public static extern int TV_StartRecordFile(int chNo,
[MarshalAs(UnmanagedTypeLPStr)]
string file,long begin,long size);
函数调用为:
string file="test.tw";
Telewind.TV_StartRecordFile(0,file,0,1032*32);但是用C++调用的时候函数的返回值为正常,用C#调用的时候函数的返回值出错。
是什么原因呢?是不是我的file中类型定义出错了?
请高手指点,谢谢。