WinCE怎么获得所有文件夹信息,用SHGetFileInfo()如何获取不到啊

WinCE如何获得所有文件夹信息,用SHGetFileInfo()怎么获取不到啊,
就是做个类似windows资源管理器,分左右2边,TreeView,ListView.
Wince 资源管理器

------解决方案--------------------

void FileViewDlg::EnumFiles(LPCTSTR pszPath, LPCTSTR pszFilter)
{
WIN32_FIND_DATA fd;
HANDLE hFind;
BOOL bFind;
CString strSearch(pszPath),
strFile;
int i = m_listFile.GetItemCount();
LVITEM lvItem;
COleDateTime odt;
//CDateTimeFormat dtf;
CWaitCursor wait;

//
// Flush the list
//
//m_listFile.DeleteAllItems();
//m_cont.clear();

//
// Fill in the list
//
strSearch += pszFilter;

hFind = FindFirstFile(strSearch, &fd);
bFind = (hFind != INVALID_HANDLE_VALUE);

//
// Disable painting the list
//


while(bFind)
{
if(!(fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) && 
!(fd.dwFileAttributes & FILE_ATTRIBUTE_HIDDEN))
{
strFile = pszPath;
strFile += fd.cFileName;


lvItem.iItem = i;
lvItem.iSubItem = 0;
lvItem.pszText = (LPTSTR)(LPCTSTR)(fd.cFileName);
lvItem.mask = LVIF_TEXT 
------解决方案--------------------
LVIF_IMAGE
------解决方案--------------------
LVIF_PARAM;
lvItem.iImage = GetIconIndex(strFile);
lvItem.lParam = 0;
m_listFile.InsertItem(&lvItem);

// if(iItem != -1)
// {
//
// Format size according to locale
//
//m_listFile.SetItemText(iItem, 1, FormatSize(fd.nFileSizeLow));

////
//// Format date according to locale
////
//odt = fd.ftLastWriteTime;
//dtf.SetDateTime(odt);
//dtf.SetFormat(m_strDateFormat);

//m_listFile.SetItemText(iItem, 2, dtf.GetString());
// m_listFile.SetItemData(iItem, i);

m_cont.push_back(fd);
// }

i++;
}

bFind = FindNextFile(hFind, &fd);
}
DoSortList();

//
// Enable painting the list
//

}

int FileViewDlg::EnumDirs(LPCTSTR pszPath, LPCTSTR pszFilter)
{
WIN32_FIND_DATA fd;
HANDLE hFind;
BOOL bFind;
//HTREEITEM hItem = TVI_LAST;
CString strSearch(pszPath),
strBase(pszPath);
int nCount = m_listFile.GetItemCount();
LVITEM lvItem;


strSearch += pszFilter;

hFind = FindFirstFile(strSearch, &fd);
bFind = (hFind != INVALID_HANDLE_VALUE);

while(bFind)
{
if((fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) &&
   !(fd.dwFileAttributes & FILE_ATTRIBUTE_HIDDEN))
{
// TVINSERTSTRUCT tvi;
// CString strSub(strBase);
// int iIcon;

// strSub += fd.cFileName;
// iIcon = GetIconIndex(strSub);

//  tvi.hParent = hItemParent;
//  tvi.hInsertAfter = TVI_LAST;
//  tvi.item.mask = TVIF_CHILDREN