确定网络驱动器的协议

2023-12-29

有没有办法确定 Windows 上安装的网络驱动器所使用的协议名称(SMB/CIFS、NFS)和版本? (在 C# 中)

EDIT

使用 Rusted 的答案中的信息,我从网络上的 Windows 7 计算机获得了以下信息。

NETRESOURCE res = WinApiWNETwrapper.GetResourceInfo("\\Test-PC");

res.dwDisplayType = SERVER
res.dwScope       = 0
res.dwType        = ANY
res.dwUsage       = CONTAINER
res.lpComment     = ""
res.lpLocalName   = null
res.lpProvider    = "Microsoft Windows Network"
res.lpLocalName   = "\\Test-PC"

NETINFOSTRUCT netinfo = WinApiWNETwrapper.GetNetworkInfo("\\Test-PC");

netinfo.cbStructureSize   = 32
netinfo.dwCharacteristics = 0
netinfo.dwDrives          = -1
netinfo.dwHandle          = 1880621056
netinfo.dwPrinters        = -1
netinfo.dwProviderVersion = 1024
netinfo.dwStatus          = Running
netinfo.wNetType          = LANMAN

SERVER_TRANSPORT_INFO_1[] transports = WinApiNETwrapper.ServerTransportEnum_1("\\Test-PC");

transports[0].svti1_domain                 = "WORKGROUP"
transports[0].svti1_networkaddress         = "TEST-PC"
transports[0].svti1_numberofvcs            = 0
transports[0].svti1_transportaddress       = 73107336
transports[0].svti1_transportaddresslength = ...
transports[0].TransportAddress             = "TEST-PC"

transports[0].svti1_transportname          = "\\Device\\NetbiosSmb"
transports[1].svti1_transportname          = "\\Device\\NetBT_Tcpip_{F4C75115-...}"
transports[2].svti1_transportname          = "\\Device\\NetBT_Tcpip_{70BD9048-...}"

重要的部分似乎是:

transports[0].svti1_transportname          = "\\Device\\NetbiosSmb"

但我在任何地方都找不到 SMB 协议的版本号。有任何想法吗?


我想你需要Windows 网络 (WNet) API http://msdn.microsoft.com/en-us/library/windows/desktop/aa385406%28v=vs.85%29.aspx,来自 NetType 字段的值网络信息结构 http://msdn.microsoft.com/en-us/library/windows/desktop/aa385349%28v=vs.85%29.aspx由返回WNet获取网络信息 http://msdn.microsoft.com/en-us/library/windows/desktop/aa385461%28v=vs.85%29.aspx功能。

Here http://code.google.com/p/netcommander/是C#开源项目,检查文件WnetApi http://code.google.com/p/netcommander/source/browse/#svn/trunk/WnetApiWnet API 的 .NET 包装器的文件夹。

要获取映射驱动器的 UNC 路径,请使用 PathToUNC 方法this http://www.codeproject.com/script/Articles/ViewDownloads.aspx?aid=2939项目。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

确定网络驱动器的协议 的相关文章

随机推荐

  • JSP 字符串格式化 截断

    有谁知道如何使用标签库截断 JSP 中的字符串 我本来打算用雅加达标签库 http jakarta apache org taglibs doc string doc index html但它说它已经退役了 因为 随着 JSTL 的出现 许
  • 远程调试设备上的 Android 应用程序

    是否可以在连接到远程计算机的设备上使用 adb 安装 调试应用程序 远程计算机的 IP 地址已知 如果你的手机已经root 你可以使用一些像这样的应用程序http www appbrain com app adb over wifi wid
  • 是否可以使用下载属性强制下载?

    我知道如何使用download属性强制下载 但我想做一些不同的事情 a href filename mp4 img src download png a 这是download属性可以正常工作 但我想使用meta像这样标记 gt Please
  • 模板化构造函数可以代替已删除的复制构造函数吗?

    Consider template
  • Tomcat:如何从servlet访问(会话)管理器

    我需要从 Tomcat 中的 servlet 或过滤器 访问管理器 以通过自定义会话 ID 加载自定义会话 回答你的下一个问题 为什么我需要它 Flash 中有一个老错误 导致它从 IE 而不是从当前浏览器发送 cookie 因此 如果我在
  • Identity 示例项目中的 DataProtectionProvider

    官方的 Identity 2 示例项目的代码如下UserManager Create public static UserManager Create IdentityFactoryOptions
  • 如果您仍然需要执行相同的步骤,那么 git merge 比 svn merge 更好吗?

    看完之后Git 中的合并如何比 SVN 中更好 https stackoverflow com questions 2471606 how and or why is merging in git better than in svn我还是
  • YouTube Analytics API 不会返回查询特定视频的 ROWS

    我正在使用 YouTube Analytics API 来获取特定查询的分析 对于频道查询来说它效果很好 当我对特定视频执行查询时出现问题 像这样 开始已定义 deviceType stats optparams array dimensi
  • android.location.LocationManager.PASSIVE_PROVIDER 的含义是什么?

    我明白的意思GPS PROVIDER http developer android com reference android location LocationManager html GPS PROVIDER 位置来自 GPS 信号 和
  • iOS15 UTType 弃用 URL 扩展 [重复]

    这个问题在这里已经有答案了 使用Swift5 5 iOS15 0 1 从 iOS15 开始 我意识到与我现有的 URL 扩展相关的一些弃用行为正在发生 我没有找到任何关于如何重写现有扩展的好的文档 这是我目前的实现 大约是 16个折旧警告我
  • adb 找不到索尼 Xperia Z 平板电脑

    我最近拿到了一台索尼 xperia z 想在其上部署 调试我的 xamarin droid 项目 我做了什么 将平板电脑连接到我的开发机器 在设备设置中启用开发者选项 还启用了USB调试 然后平板电脑本身在我的开发机器上安装了驱动程序 现在
  • 为什么我在角反应形式的 *ngIf 中遇到错误

    我知道这是一个非常愚蠢的问题 对于像我这样有 SOF 声誉的人来说 不应该问这个问题 然而 我正在拉扯我的头发 似乎不明白我做错了什么 我指的是一个例子创建反应形式 在 Stackblitz 中一切看起来都很好 我的代码也运行得很好 但是在
  • UDP 套接字设置超时

    我正在尝试在 UDP 套接字上设置 100 毫秒超时 我正在使用 C 我在下面发布了相关的代码片段 我不确定为什么这没有超时 而是在没有收到段时挂起 这只适用于未使用bind 方法绑定的套接字吗 define TIMEOUT MS 100
  • UITapGestureRecognizer 不执行任何操作

    我有一个应用程序 可以显示一页文本 可以点击按钮或在视图中滑动以在各个页面中前进或后退 容器视图附加了两个 UISwipeGestureRecognizer 用于向左滑动和向右滑动 这些手势没有任何问题 但现在我正在尝试将 UITapGes
  • Wildfly 中出现“意外调用状态 0”错误

    我创建了一个小例子来演示该错误 有状态 Bean 将列表作为其状态并注入无状态 Bean Stateful RequestScoped public class StatefulBean Inject StatelessBean slsb
  • 维基百科对MapReduce的reduce的解释不正确吗?

    MongoDB的解释 http www mongodb org display DOCS MapReduce MapReduce ReduceFunction减少阶段说 Map Reduce引擎可以迭代地调用Reduce函数 因此 这些函数
  • 向 docker 推送/拉取镜像时出现错误:403 Forbidden

    我在用泊坞窗服务器版本 1 10 3安装了 docker 发行版RHEL 7 2 我面临的问题是间歇性的 有时推 拉命令有效 有时会抛出以下错误 Pulling repository test a b c com hello world E
  • Rails 使用 :collection 渲染部分内容

    这很简单 不应该成为问题 但我不明白这里发生了什么 我有以下代码 class DashboardController lt ApplicationController def bookings bookings Booking all en
  • 用CSS识别浏览器和操作系统?

    我知道为特定浏览器或操作系统编写特定 CSS 代码不是正确的做法 但在我正在构建的网站中 某些元素在特定浏览器中无法很好地呈现 例如 某些元素在 IE8 中不受支持 或者在小 iPhone 显示屏中看起来很奇怪 因此我的问题是 仅使用 CS
  • 确定网络驱动器的协议

    有没有办法确定 Windows 上安装的网络驱动器所使用的协议名称 SMB CIFS NFS 和版本 在 C 中 EDIT 使用 Rusted 的答案中的信息 我从网络上的 Windows 7 计算机获得了以下信息 NETRESOURCE