社区
网络编程
帖子详情
关于NetShareEnum()
pennystef
2009-08-20 04:11:29
使用NetShareEnum()函数获得机器上的共享资源。
nas = ::NetShareEnum(_ipaddress, 502, (LPBYTE *)&pSi502Out,
MAX_PREFERRED_LENGTH, &er, &tr, &resume);
当_ipaddress是本机的时候可以正确的获得共享资源,但为其他机器的时候就会返回ERROR_ACCESS_DENIED这个错误
有哪位朋友遇到过相似的问题吗?
...全文
270
8
打赏
收藏
关于NetShareEnum()
使用NetShareEnum()函数获得机器上的共享资源。 nas = ::NetShareEnum(_ipaddress, 502, (LPBYTE *)&pSi502Out, MAX_PREFERRED_LENGTH, &er, &tr, &resume); 当_ipaddress是本机的时候可以正确的获得共享资源,但为其他机器的时候就会返回ERROR_ACCESS_DENIED这个错误 有哪位朋友遇到过相似的问题吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
pennystef
2009-08-21
打赏
举报
回复
我换了-1也不行,如果我想使用用户名跟密码来访问的话,只用NetShareEnum这个函数可以实现吗?
pennystef
2009-08-21
打赏
举报
回复
回5楼,其他同类软件查看的时候对于那些不需要用户名跟密码的,用我自己写的也不可以查看
MoXiaoRab
2009-08-20
打赏
举报
回复
MAX_PREFERRED_LENGTH换成-1试试,我也不知道为什么,但是我就是这么干的
oyljerry
2009-08-20
打赏
举报
回复
看是否防火墙,以及机器的安全属性禁止访问共享资源等,通过用户名,密码等来访问试试
pennystef
2009-08-20
打赏
举报
回复
//获得IP
BYTE nField0;
BYTE nField1;
BYTE nField2;
BYTE nField3;
m_ipAddress.GetAddress(nField0,nField1,nField2,nField3);
_ipaddress.Format(_T("%d.%d.%d.%d"), nField0,nField1,nField2,nField3);
//获得共享文件夹
PSHARE_INFO_502 pSi502, pSi502Out;
NET_API_STATUS nas;
DWORD er = 0, tr = 0, resume = 0, j = 0;
int tmpBreak = 0, i = 0, itPos = 0;
_siNum = 0;
do
{
nas = ::NetShareEnum(_ipaddress, 502, (LPBYTE *)&pSi502Out,
MAX_PREFERRED_LENGTH, &er, &tr, &resume);
if(nas == ERROR_SUCCESS || nas == ERROR_MORE_DATA)
{
pSi502 = pSi502Out;
for(j=0; j<er; j++)
{
if (_siNum > 100)
{
MessageBox(_T("空间不足"), _T("SHARE_INFO_502 list fail"), MB_OK);
tmpBreak = 1;
break;
}
tmpBreak = 0;
_siInfo[_siNum].currentUses = pSi502->shi502_current_uses;
_siInfo[_siNum].maxUses = pSi502->shi502_max_uses;
_siInfo[_siNum].name = pSi502->shi502_netname;
_siInfo[_siNum].passwd = pSi502->shi502_passwd;
_siInfo[_siNum].path = pSi502->shi502_path;
_siInfo[_siNum].permissions = pSi502->shi502_permissions;
_siInfo[_siNum].remark = pSi502->shi502_remark;
_siInfo[_siNum].type = pSi502->shi502_type;
_siNum++;
pSi502++;
}
NetApiBufferFree(pSi502Out);
}
else
{
MessageBox(_T(" "), _T("NetShareEnum fail"), MB_OK);
LogOn();
}
if (1 == tmpBreak)
{
break;
}
}
while (nas == ERROR_MORE_DATA);
MoXiaoRab
2009-08-20
打赏
举报
回复
参考
MoXiaoRab
2009-08-20
打赏
举报
回复
单你这句话的调用,并没有错
MoXiaoRab
2009-08-20
打赏
举报
回复
贴代码看看,也有可能是防火墙问题
关于网络共享路径的几个win32 API
3,NET_API_STATUS NET_API_FUNCTION Net
Share
Enum
( LMSTR servername, DWORD level, LPBYTE *bufptr, DWORD prefmaxlen, LPDWORD entriesread, LPDWORD totalentries, LPDWORD resume_handle ); 这个等同...
关于文件服务器有哪些用户连接及打开了哪些文件的管理
默认情况下,在使用 Net
Share
Enum
事务时,只需匿名访问即可发出 NetServer
Enum
2 和 NetServer
Enum
3 请求。默认情况下,Windows 操作系统启用匿名访问。 有关其他信息,请单击下面的文章编号,以查看 Microsoft ...
关于Net
Share
Check和Net
Share
Add的使用方法
尤其是Net
Share
Check这个检查是否共享的函数,很多人都说这个函数是不行的,建议采用Net
Share
Enum
来枚举本机共享,再从共享列表中找出是不是有我们要检查的共享设置,而对于Net
Share
Add,一些人采用的方法是直接在...
SMB协商过程
我单独模拟了一些简单了网络连接过程进行了抓包,但还是有很多疑问,下面是在网络搜到的一篇关于CIFS/SMB的文章,感觉很不错,分享过来,以备以后所需。 本文,我将向大家解释什么是CIFS和SMB,它们如何工作和...
NetBios && SMB 协商过程
2008-12-11 10:14 --[ 1 - 介绍 ...本文,我将向大家解释什么是CIFS和SMB,它们...大家提供了一个关于如何操作SMB例子的源代码。 你将会学习到在所有SMB密码都是加密的情况下,如何使用ARP毒药来获得清晰的SMB密
网络编程
18,356
社区成员
64,214
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章