日期:2014-05-19  浏览次数:20887 次

请教各位高手,C#如何调用这样的W32 DLL API?
函数原型为:
BOOL   NV_PlayM4_OpenFile(LONG   nPort,   LPSTR   sFileName);
说明:打开播放文件;  
输入参数:sFileName   文件名,文件不能超过4G或小于4K
在VC中是这样用的
CString   rtw( "C:/Documents   and   Settings/liuweiqi/桌面/FOXRAIN.AVI ");
NV_PlayM4_OpenFile(2,rtw.GetBuffer(rtw.GetLength()));
返回是TRUE
但我在C#中是这么用的
[DllImport( "NVPlayM4.dll ")]
private     static   extern   bool   NV_PlayM4_OpenFile(long   nPort,StringBuilder   pName);
StringBuilder   sFileName=new   StringBuilder( "C:/Documents   and   Settings/liuweiqi/桌面/FOXRAIN.AVI ");
NV_PlayM4_OpenFile(2,sFileName);
始终返回是FALSE;
这是为什么呢??????/跪求解决方法......


------解决方案--------------------
private static extern bool NV_PlayM4_OpenFile(int nPort,StringBuilder pName);

*****************************************************************************
欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码)

http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html