【问题标题】:USB drive programming with .NET使用 .NET 进行 USB 驱动器编程
【发布时间】:2010-07-23 17:24:06
【问题描述】:

我正在做一个项目,我需要访问 USB 驱动器的一些特定地址(例如扇区 0),并更改一些字节。我已经用 C# 完成了一些部分,包括用户界面、USB 驱动器检测等。谁能帮我提供一些链接,以便我可以使用 .NET 访问 USB 驱动器的特定地址?

【问题讨论】:

  • C# 没有 I/O 功能。您必须使用 .NET。

标签: c# .net usb


【解决方案1】:

框架不支持这个。如果您尝试在设备上创建 FileStream,它将引发异常。您必须直接使用 Windows API 方法(p/invoke CreateFile、DeviceIoControl 等)。确保您在此处阅读有关物理磁盘和卷的部分: http://msdn.microsoft.com/en-us/library/aa363858.aspx

【讨论】:

  • 请不要发布旧链接。不要发布包含版本号的 MSDN 链接,除非您实际上是尝试提供旧信息。
  • 抱歉,我不了解 MSDN 的 URL 命名约定。在我看来,该链接看起来是最新的。
  • 啊,我看到它是链接中的 (v=VS.85)。我以后会努力注意的。
  • 感谢您的回答。但是我可以从我的 c# 代码中调用它吗?你能提供任何显示 C# 和 win API 的链接吗?
  • p/invoke 教程:msdn.microsoft.com/en-us/magazine/cc164123.aspx。 CreateFile@pinvoke.net:pinvoke.net/default.aspx/kernel32/CreateFile.html。 Pinvoke.net 是查找 C#(和 VB)的 API 签名的“公平”地方。我说“公平”是因为那里有一些不正确的信息(不是很多),还因为使用 p/invoke,并不总是只有一个答案。您可以通过多种方式编写 p/invoke 声明,但您自己这样做需要了解编组器的工作原理。
猜你喜欢
  • 2012-01-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-03
  • 1970-01-01
  • 1970-01-01
  • 2010-12-13
  • 1970-01-01
相关资源
最近更新 更多