在c#中调用rapi来完成windows ce的文件操作。
详细参见:http://blog.youkuaiyun.com/jarvisj/archive/2005/06/05/387902.aspx
详细api文档(msdn英文):http://msdn.microsoft.com/en-us/library/aa458022.aspx
但是如果用 CeRapiInit来判断链接有一个问题:这个函数的运行过程是开始判断是否连接了设备,如果没有设备,这个进程将一直挂着,直到插上了设备才继续执行,这样就不能马上给出判断,所以可以采用CeRapiInitEx函数。
CeRapiInit和CeRapiInitEx的区别:前者是将进程一直挂着,等待设备的插入,而后者是即刻判断。
主要讲解CeRapiInitEx的使用:
//接口声明
[DllImport("rapi.dll")]
public static extern void CeRapiInitEx(ref RAPIINIT pRapiInit);
//自定义返回类型结构
[StructLayout(LayoutKind.Sequential)]
public struct RAPIINIT
{
public int cbsize;
public IntPtr heRapiInit;
public UInt32 hrRapiInit;
};
//函数使用
RAPIINIT r = new RAPIINIT();
r.cbsize = Marshal.SizeOf(r);
CeRapiInitEx(ref r);
//r.hrRapiInit==0 判断连接成功
c#调用RAPI的连接判断
最新推荐文章于 2025-03-30 23:01:40 发布
本文介绍如何在C#中通过调用Rapi库来完成Windows CE平台上的文件操作任务。重点对比了CeRapiInit与CeRapiInitEx两个函数的区别,CeRapiInitEx能即时返回设备连接状态,提高了应用程序的响应速度。
2万+

被折叠的 条评论
为什么被折叠?



