【问题标题】:Win32 API P-Invoke to bring a disk online, offline, and set unique IDWin32 API P-Invoke 使磁盘联机、脱机并设置唯一 ID
【发布时间】:2011-02-23 18:10:30
【问题描述】:

我目前正在使用 Diskpart 来完成这些功能,但我希望能够使用 P-Invoke 而不必在我的 C# 应用程序中使用外部进程。

Diskpart 脚本示例如下:

//Online a disk
Select disk 7
disk online

// Reset GPT Identifier
select disk 7
UNIQUEID DISK ID=baf784e7-6bbd-4cfb-aaac-e86c96e166ee

我尝试搜索 pinvoke.net,但只能找到处理卷而不是磁盘的函数。关于如何使用 Pinvoke 完成这些 diskpart 命令的任何想法?

【问题讨论】:

  • 你找到解决办法了吗?

标签: c# pinvoke disk hard-drive


【解决方案1】:

我不确定 Dispart 到底做了什么,但我建议查看可能具有这种功能的 WMI。当您需要在 Windows 中执行一些不太常见的操作时,它通常是一个不错的选择。

Storage WMI Classes 可能有一些有用的东西:
http://msdn.microsoft.com/en-us/library/ff567016%28VS.85%29.aspx

编辑:删除了关于卷的建议,因为我错过了你对此不感兴趣。

【讨论】:

  • 我确实找到了 win32_diskdrive,但它没有任何有用的方法来完成我想要完成的工作。
【解决方案2】:

DeviceIOControl API 怎么样?

如果没有,我会考虑使用 WMI。特别是,请查看 WMI WIN32_DiskDriveWIN32_LogicalDisk 类。

【讨论】:

猜你喜欢
  • 2011-11-23
  • 2022-09-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-19
  • 2013-05-31
  • 2020-01-26
相关资源
最近更新 更多