090902项目进展:smb资源的深层递归4,wps分析

一、“..”不需要加入到树结构
        // 第一个文件是“.”
        printf ("First file name is %s/n", FindFileData.cFileName);

        // 第二个文件是“..”,也不需要加入树结构
        FindNextFile(hFind, &FindFileData);

        // 其他加入结构
        while (FindNextFile(hFind, &FindFileData) != 0)
        {
//            printf ("Next file name is %s/n", FindFileData.cFileName);
            HTREEITEM hItemChild = pTree->InsertItem(FindFileData.cFileName,0,1, hItemParent, TVI_LAST);
        }

二、只有“打印机共享”的服务器不加入搜索结果
把加入IP地址的语句移到EnumResource逻辑里面来。
        // If the call succeeds, loop through the structures.
        if (dwResultEnum == NO_ERROR)
        {
            HTREEITEM hItemParent;
            if (cEntries > 0)
            {
                hItemParent = pTree->InsertItem(strIP, 0, 1);
            }
           
            for(i = 0; i < cEntries; i++)
            { ……

三、能使用递归的方法进行完全遍历吗?
1,上个月在做FTP资料遍历的时候也是同样的问题,递归的方法行不通。
2,文件操作也类似,SetCurrentDirectory和FindFirstFile没有关联关系。
    if (!SetCurrentDirectory(lpConnectable->lpRemoteName))
    {
        DWORD dwErrorCode = GetLastError();
        printf ("SetCurrentDirectory. Error is %u/n", dwErrorCode);
        return (-1);
    }

    hFind = FindFirstFile("*", &FindFileData);
3,考虑WPS遍历,重用前面使用到的Queue,把它的声名定义抽出来。
抽出来之后居然编译都通不过,查了下资料,CQueue.cpp之前必须要加上#include     "stdafx.h",果然不错!感谢laiyiling老兄在04年的答案!
是预编译的问题:
如果发生错误的文件是由其他的C代码文件添加进入当前工程而引起的,则Alt+F7进入当前工程的Settings,选择C/C++选项卡,从Category组合框中选中Precompiled     Headers,选择Not     Using     Precompiled     headers。确定      
                 
  如果发生错误的文件原本是该工程中的,则检查该文件头部有没有#include     "stdafx.h"语句,没有的话添加。    
     
  如果还不行,也有可能是定义的类或结构体等最后忘了加分号,注意一下。

四、使用WPS对smb资源服务器进行遍历
初步分析,入队列的点放在AddConnectableRcs里面。明天继续。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值