WINCE FindFirstStore / FindNextStore查找存储器

如何查找设备上是否有指定盘符

 

  可以通过读取系统注册表或调用 API函数来实现,下面是以查找磁盘(Hard Disk)设备为例,通过API函数查询指定存储设备的程序片段。

STOREINFO StoreInfo;
 memset(&StoreInfo, 0, sizeof(STOREINFO));   //切记定义后要初始化,否则后面将查找不到任何存储器
 StoreInfo.cbSize = sizeof(STOREINFO);

 HANDLE hDevice = FindFirstStore( &StoreInfo );
 iResult=0;
 if( INVALID_HANDLE_VALUE != hDevice )
 {
    do
    {
    //判断是否为指定存储设备
    if( 0 == wcscmp( StoreInfo.szStoreName, TEXT("IDE Hard Disk Drive") ) )
    {
     iResult=1; 
     //如果查找到指定存储设备,则打印信息到调试串口
       RETAILMSG( 1, (TEXT("Hard Disk%s has been inserted/n") ,
            StoreInfo.szDeviceName ));

        hThread = CreateThread(NULL,0,FileTestThread,(LPVOID)TEXT("//Hard Disk"),0,&dwThreadID);
      SetThreadPriority(hThread, THREAD_PRIORITY_LOWEST);//*/
      break ;

    }
    }while( FindNextStore( hDevice, &StoreInfo ) );
 }

 

   需要注意的是:存储器名字("IDE Hard Disk Drive")需要通过查找平台注册表platform.reg文件得知。注册表中存储器的参数中:“Name”即是指这里的szStoreName,而注册表的"Folder"是指挂载目录名“Hard Disk”。

    很多初学者都会将这两个命名混淆哦!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值