BROWSEINFO BrowseInfo;
TCHAR szResPath[MAX_PATH];
LPITEMIDLIST lpItemIDList;
LPMALLOC lpIMalloc;if(CoInitializeEx(NULL,COINIT_APARTMENTTHREADED) == S_OK)
  {
    BrowseInfo.hwndOwner = this->m_hWnd;
    BrowseInfo.pidlRoot = NULL;
    BrowseInfo.pszDisplayName = szResPath;
    BrowseInfo.lpszTitle = "Test";
    BrowseInfo.ulFlags = BIF_DONTGOBELOWDOMAIN|BIF_RETURNONLYFSDIRS;
    BrowseInfo.lpfn = NULL;
    BrowseInfo.lParam = 0;
    BrowseInfo.iImage = 0;
    lpItemIDList = SHBrowseForFolder(&BrowseInfo);    if(lpItemIDList != NULL)
      {
SHGetPathFromIDList(lpItemIDList,szResPath);
if(SHGetMalloc(&lpIMalloc) == NOERROR)
  {
    lpIMalloc->Free(lpItemIDList);
  }
       }    CoUninitialize();
  }