CFileDialog可否获取文件夹的路径,该如何处理

CFileDialog可否获取文件夹的路径
我现在想通过对话框获得文件夹的路径(不是文件)该怎么操作?

CString FilePathName;
CFileDialog dlg(FALSE, _T(""), _T(""),OFN_OVERWRITEPROMPT|OFN_HIDEREADONLY,newfile,this);
dlg.m_ofn.lpstrTitle = _T("目标文件保存"); // 标题名
if(dlg.DoModal()==IDOK)
{
  FilePathName=dlg.GetPathName();
}
类似这一段仅仅是获取了某类型的文件的路径,文件夹的路径该怎么写?(newfile是指定的文件类型)

------解决方案--------------------
CString SelectDirectory(CString strTitle)
{
BROWSEINFO bi;
CString strDirPath;
LPITEMIDLIST pidl;
LPMALLOC pMalloc = NULL;

ZeroMemory(&bi, sizeof(bi));
bi.hwndOwner = NULL;
bi.pszDisplayName = NULL;
bi.lpszTitle = strTitle;
bi.ulFlags = BIF_EDITBOX|BIF_RETURNFSANCESTORS;
bi.lParam = NULL;
bi.iImage = 0;
pidl = SHBrowseForFolder(&bi);

if(pidl)
{
SHGetPathFromIDList(pidl, (char*)(LPCTSTR)strDirPath);
}
return strDirPath;
}