查找WINCE外部存储器

WINCE文件夹分为对象存储和外部存储.对象存储处于RAM,断电消失;外部存储即硬盘U盘等非易失性存储器,断电数据依然存在.在WINCE下,对这两种存储器的操作是透明的,没有使用上的区别.只是我们在使用过程当中,可能需要将这两者区分.
    这是查找根目录下的外部存储器的代码:

CString m_sStorageName[20]; //外部定义的一个数组,用来保存外部存储器名  
void FindStorage( )
{
 HANDLE hSearch;                // FindFirstFile函数返回的句柄
 WIN32_FIND_DATA  fd;           // 文件的数据结构
 BOOL bFinished = FALSE;        // 循环结束标志
 TCHAR *szFname = TEXT("//*");  // 要查找的文件名
 m_iStorageNum=0;               //外部存储器的数量
 

 // 确认是否有文件存在.
 hSearch = FindFirstFile(szFname, &fd);
 
 if (hSearch == INVALID_HANDLE_VALUE)
 {  
   //没找到,返回
  return;
 }


  do {
  
  //当文件具有FILE_ATTRIBUTE_TEMPORARY和FILE_ATTRIBUTE_DIRECTORY属性才是外部存储器(文件夹)

  if (  (fd.dwFileAttributes & FILE_ATTRIBUTE_TEMPORARY)
     && (fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) )
  {
    m_iStorageNum++;
    m_sStorageName[m_iStorageNum-1]=fd.cFileName; //存储存储器名
  }

  if (!FindNextFile (hSearch, &fd))
  {
   //已经查找到最后一个文件,置结束标志
    bFinished = TRUE;
  }
  } while (!bFinished);

  FindClose (hSearch);  // 关闭句柄.
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值