关于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 打赏 收藏 转发到动态 举报
写回复
用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
  • 打赏
  • 举报
回复
贴代码看看,也有可能是防火墙问题

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧