繁体   English   中英

Win32:API调用列出服务器上的可用网络共享?

[英]Win32: API calls to list available network shares on a server?

假设我可以访问IP 1.2.3.4的SMB服务器,如何确定可用共享列表?

当我输入UNC路径\\\\ 1.2.3.4 \\时,Windows资源管理器可以执行此操作 - 但命令提示符“dir \\\\ 1.2.3.4 \\”失败!

我尝试过通常的FindFirstFile / FindNext调用 - 我成功地使用它来读取每个共享上的文件和目录,但它们不能直接在服务器根目录上运行。

理想情况下,我需要一些适用于XP的东西。

编辑:我想以编程方式执行此操作,而不是从命令行执行此操作。 从'net view 1.2.3.4'重定向和解析输出会起作用,但我理想地寻找这个工作的API。

根据文档,有一个NetShareEnum和一个WNetEnumResource函数。

净视图\\\\ 1.2.3.4

查看http://www.ss64.com/nt/net_share.html

编辑:如果您想以编程方式执行此操作,看起来NetShareEnum将起作用。

您似乎可以使用WMI来获取此信息。 查看这篇文章,了解一些现在展示使用Win32_Share WMI对象的简洁PowerShell教程。

永远不要使用WMI(本机未安装)
使用Win32 api枚举股票,在google群组上发布数百万次(win32)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM