确定网络驱动器的协议

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(使用前将#替换为@)

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

  • 如何在 Cassandra 中存储无符号整数?

    我通过 Datastax 驱动程序在 Cassandra 中存储一些数据 并且需要存储无符号 16 位和 32 位整数 对于无符号 16 位整数 我可以轻松地将它们存储为有符号 32 位整数 并根据需要进行转换 然而 对于无符号 64 位整
  • std::list 线程push_back、front、pop_front

    std list 线程安全吗 我假设不是这样 所以我添加了自己的同步机制 我认为我有正确的术语 但我仍然遇到问题 每个函数都由单独的线程调用 Thread1 不能等待 它必须尽可能快 std list
  • 如何连接重叠的圆圈?

    我想在视觉上连接两个重叠的圆圈 以便 becomes 我已经有部分圆的方法 但现在我需要知道每个圆的重叠角度有多大 但我不知道该怎么做 有人有主意吗 Phi ArcTan Sqrt 4 R 2 d 2 d HTH Edit 对于两个不同的半
  • 在 Windows 上不使用 OpenSSL 从 pfx 文件或证书存储中提取私钥

    正如标题所示 我想在不使用 OpenSSL 或任何其他第三方工具的情况下导出我的私钥 如果我需要一个 cer文件或 pfx我可以通过 MMC 或 PowerShell 轻松导出这些文件pkiclient但我找不到获取私钥的方法 https
  • 方程“a + bx = c + dy”的积分解

    在等式中a bx c dy 所有变量都是整数 a b c and d是已知的 我如何找到整体解决方案x and y 如果我的想法是正确的 将会有无限多个解 由最小公倍数分隔b and d 但我只需要一个解决方案 我可以计算其余的 这是一个例
  • ASP.NET Core 3.1登录后如何获取用户信息

    我试图在登录 ASP NET Core 3 1 后获取用户信息 如姓名 电子邮件 id 等信息 这是我在登录操作中的代码 var claims new List
  • 使用 C# 中的 CsvHelper 将不同文化的 csv 解析为十进制

    C 中 CsvHelper 解析小数的问题 我创建了一个从 byte 而不是文件获取 csv 文件的类 并且它工作正常 public static List
  • 如何获取 EF 中与组合(键/值)列表匹配的记录?

    我有一个数据库表 其中包含每个用户 年份组合的记录 如何使用 EF 和用户 ID 年份组合列表从数据库获取数据 组合示例 UserId Year 1 2015 1 2016 1 2018 12 2016 12 2019 3 2015 91
  • WcfSvcHost 的跨域异常

    对于另一个跨域问题 我深表歉意 我一整天都在与这个问题作斗争 现在已经到了沸腾的地步 我有一个 Silverlight 应用程序项目 SLApp1 一个用于托管 Silverlight SLApp1 Web 的 Web 项目和 WCF 项目
  • 结构体的内存大小不同?

    为什么第一种情况不是12 测试环境 最新版本的 gcc 和 clang 64 位 Linux struct desc int parts int nr sizeof desc Output 16 struct desc int parts
  • 实例化类时重写虚拟方法

    我有一个带有一些虚函数的类 让我们假设这是其中之一 public class AClassWhatever protected virtual string DoAThingToAString string inputString retu
  • 如何在当前 Visual Studio 主机内的 Visual Studio 扩展中调试使用 Roslyn 编译的代码?

    我有一个 Visual Studio 扩展 它使用 Roslyn 获取当前打开的解决方案中的项目 编译它并从中运行方法 程序员可以修改该项目 我已从当前 VisualStudioWorkspace 成功编译了 Visual Studio 扩
  • 游戏内的java.awt.Robot?

    我正在尝试使用下面的代码来模拟击键 当我打开记事本时 它工作正常 但当我打开我想使用它的游戏时 它没有执行任何操作 所以按键似乎不起作用 我尝试模拟鼠标移动和点击 这些动作确实有效 有谁知道如何解决这个问题 我发现这个问题 如何在游戏中使用
  • C# 动态/expando 对象的深度/嵌套/递归合并

    我需要在 C 中 合并 2 个动态对象 我在 stackexchange 上找到的所有内容仅涵盖非递归合并 但我正在寻找能够进行递归或深度合并的东西 非常类似于jQuery 的 extend obj1 obj2 http api jquer
  • 为什么使用小于 32 位的整数?

    我总是喜欢使用最小尺寸的变量 这样效果就很好 但是如果我使用短字节整数而不是整数 并且内存是 32 位字可寻址 这真的会给我带来好处吗 编译器是否会做一些事情来增强内存使用 对于局部变量 它可能没有多大意义 但是在具有数千甚至数百万项的结构
  • 为什么 isnormal() 说一个值是正常的,而实际上不是?

    include
  • 有没有办法让 doxygen 自动处理未记录的 C 代码?

    通常它会忽略未记录的 C 文件 但我想测试 Callgraph 功能 例如 您知道在不更改 C 文件的情况下解决此问题的方法吗 设置变量EXTRACT ALL YES在你的 Doxyfile 中
  • 在 WPF 中使用 ReactiveUI 提供长时间运行命令反馈的正确方法

    我有一个 C WPF NET 4 5 应用程序 用户将用它来打开某些文件 然后 应用程序将经历很多动作 读取文件 通过许多插件和解析器传递它 这些文件可能相当大 gt 100MB 因此这可能需要一段时间 我想让用户了解 UI 中发生的情况
  • 为什么C++代码执行速度比java慢?

    我最近用 Java 编写了一个计算密集型算法 然后将其翻译为 C 令我惊讶的是 C 的执行速度要慢得多 我现在已经编写了一个更短的 Java 测试程序和一个相应的 C 程序 见下文 我的原始代码具有大量数组访问功能 测试代码也是如此 C 的
  • 当文件流没有新数据时如何防止fgets阻塞

    我有一个popen 执行的函数tail f sometextfile 只要文件流中有数据显然我就可以通过fgets 现在 如果没有新数据来自尾部 fgets 挂起 我试过ferror and feof 无济于事 我怎样才能确定fgets 当

随机推荐

  • 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