删除文件夹遇‘公文包’求解,该怎么解决

删除文件夹遇‘公文包’求解
首先我定义了个删除某一文件夹的方法
C/C++ code

BOOL DeleteDirectory(char *DirName)//参数结尾不包含‘\’
{
    CFileFind tempFind;
    char tempFileFind[200];
    sprintf(tempFileFind,"%s\\*.*",DirName);
    MessageBox(0,tempFileFind,NULL,MB_OK);
    BOOL IsFinded=(BOOL)tempFind.FindFile(tempFileFind);
    while(IsFinded)
    {
        IsFinded=(BOOL)tempFind.FindNextFile();
        if(!tempFind.IsDots())
        {
            char foundFileName[200];
            strcpy(foundFileName,tempFind.GetFileName().GetBuffer(200));
            if(tempFind.IsDirectory())
            {
                char tempDir[200];
                sprintf(tempDir,"%s\\%s",DirName,foundFileName);
                DeleteDirectory(tempDir);
            }
            else
            {
                char tempFileName[200];
                sprintf(tempFileName,"%s\\%s",DirName,foundFileName);
                DeleteFile(tempFileName);
            }
        }
    }
    tempFind.Close();
    if(!RemoveDirectory(DirName))
    {
        MessageBox(NULL,"失败!",NULL,MB_OK);
        return FALSE;
    }
    return TRUE;
}



该方法在正常情况下是好用滴...可是!当目标文件夹内部存在'公文包'(就是右键能直接创建的那种)类型的文件时
会失败。
求高手赐教!解决‘公文包’问题彻底实现完全删除!


------解决方案--------------------
你先看一下“公文包”具体是个什么东东,有哪些特殊属性,程序删除失败时有没有错误码。
我记得“公文包”好象是一个“软连接”,记不清了。