090831项目进展:smb资源的深层递归2

 

1,如果发现是可以连接的资源,进入函数AddConnectableRcs,深入一层遍历文件名。

            for(i = 0; i < cEntries; i++)
            {
                // Call an application-defined function to
                //  display the contents of the NETRESOURCE structures.
                // DisplayStruct(&lpnrLocal[i]);
                // 将以前的打印 改进为 挂载树
                CString strSmbFile(lpnrLocal[i].lpRemoteName);
                strSmbFile.Delete(0, cntDelete);
                HTREEITEM hItemChild = pTree->InsertItem(strSmbFile,0,1, hItemParent, TVI_LAST);

                if (RESOURCEUSAGE_CONNECTABLE == lpnrLocal[i].dwUsage
                    && RESOURCETYPE_DISK == lpnrLocal[i].dwType)
                {
                    AddConnectableRcs(&lpnrLocal[i], pTree, hItemChild);
                }
            }

 

2,AddConnectableRcs的定义:

注意使用WNetCancelConnection2,有开有关。

 

3,FindFirstFile函数返回了错误,使用GetLastError得到错误码是53

    hFind = FindFirstFile(lpConnectable->lpRemoteName, &FindFileData);
    if (hFind == INVALID_HANDLE_VALUE)
    {
        DWORD dwErrorCode = GetLastError();
        printf ("Invalid file handle. Error is %u/n", dwErrorCode);
        return (-1);
    }

 

4,使用system error codes在msdn这索引

ERROR_BAD_NETPATH  53   The network path was not found.

 

这个错误并不少见,明天具体看看原因。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值