请问下面的程序段能否执行查询功能.
如果不能,如何解决????void CFtpcjcDlg::OnQuery() 
{
 // 获得当前输入
  UpdateData(FALSE);
  //清除列表框内容
  while(m_ListFile.GetCount()!=0)
  m_ListFile.DeleteString(0);
  //显示文件和目录名
  ListContent();
}//实现文件查询和显示:void CFtpcjcDlg::ListContent()
{
CInternetSession*pSession;//CInternetSession库类名(用于创建一个Internet会话)
CFtpConnection*pConnection;//CFtpConnection库类名(完成文件下载和上传服务)
CFtpFileFind*pFileFind; //CFtpFileFind库类名(负责某一目录下的所有文件和子目录)
CString strFileName;
BOOL bContinue;
pConnection=NULL;
pFileFind=NULL;
//创建Internet会话
pSession=new CInternetSession(AfxGetAppName(),
  1, PRE_CONFIG_INTERNET_ACCESS);
try
{//试图建立FTP连接
pConnection=pSession->GetFtpConnection(m_strFtpSite,m_strName,m_strPwd);
}
catch(CInternetException*e)
{//错误处理
e->Delete();
pConnection=NULL;}
if(pConnection!=NULL)
{//创建CFtpFileFind对象
//传递CFtpConnection对象的指针
pFileFind=new CFtpFileFind(pConnection);
//任意查找文件
bContinue=pFileFind->FindFile("*");
if(!bContinue)
{
//查找完毕
pFileFind->Close();
pFileFind=NULL;
}
while(bContinue)
{
//查找下一个文件
bContinue=pFileFind->FindNextFile();
//获得找到文件的文件名
strFileName=pFileFind->GetFileName();
if(pFileFind->IsDirectory())
{//找到的是否为目录
//标记目录名
strFileName="["+strFileName;
strFileName+="]";
}
//显示找到的内容
m_ListFile.AddString(strFileName);
}
if(pFileFind!=NULL)
{
//查询结束
pFileFind->Close();
pFileFind=NULL;
}}
//删除对象
delete pFileFind;
if(pConnection!=NULL)
{
pConnection->Close();
delete pConnection;
}
delete pSession;
}void CFtpcjcDlg::OnSelchangeListFile() 
{
//禁用用来输入的文本和编辑框控件
m_EditFtp.EnableWindow(FALSE);
m_EditName.EnableWindow(FALSE);
m_EditPwd.EnableWindow(FALSE);
m_StaFtp.EnableWindow(FALSE);
m_StaName.EnableWindow(FALSE);
m_StaPwd.EnableWindow(FALSE);
//禁用查询和上传按钮
    m_BtnUpLoad.EnableWindow(FALSE);
    m_BtnQuery.EnableWindow(FALSE);
//激活下载按钮
m_BtnDownLoad.EnableWindow(TRUE);

}void CFtpcjcDlg::OnRButtonDown(UINT nFlags, CPoint point) 
{//禁用下载按钮
m_BtnDownLoad.EnableWindow(FALSE);
//激活查询和上传按钮
    m_BtnUpLoad.EnableWindow(TRUE);
    m_BtnQuery.EnableWindow(TRUE);
//激活用来输入的文本和编辑框控件
m_EditFtp.EnableWindow(TRUE);
m_EditName.EnableWindow(TRUE);
m_EditPwd.EnableWindow(TRUE);
m_StaFtp.EnableWindow(TRUE);
m_StaName.EnableWindow(TRUE);
m_StaPwd.EnableWindow(TRUE);
CDialog::OnRButtonDown(nFlags, point); }