1

我想在 C# 中编写一个小型实用程序/类库,它可以枚举与 Windows 7 上的卷 C 关联的磁盘上的主分区。我想修改该磁盘上任何一个主分区的活动标志。我想从托管代码(C#)中“使用”这个库。据我了解,我需要使用http://msdn.microsoft.com/en-us/library/bb986750(v=VS.85).aspx中描述的虚拟磁盘服务。

对于 Windows 2008 的这个 API,似乎有一个类似于“主要互操作程序集”的东西:Windows.Storage.Vds.dll(参见http://blogs.msdn.com/taylorb/archive/2008/09/19/using- the-virtual-disk-service-vds-from-powershell-to-mount-and-use-vhd-s.aspx)。我在 Windows 7 上找不到这个。它存在吗?如果是这样,我如何获得它?我找不到它,所以我想它不是公开的。

下一步是使用 tlbimp生成此代码,但 VDS 不会导出类型库。这是真的?我找不到它。

剩下的就是直接在 C++ 中“手动”完成 COM 的工作,就像上面的例子一样。这些例子是有效的,但实际上是难以理解的。同样,我可以使用http://msdn.microsoft.com/en-us/library/aa645736(VS.71).aspx中描述的技术从 midl 手动创建客户端程序集。但我没有足够的 COM/COM Interop/VDS 以合理的方式做到这一点。

令我震惊的是,VDS dcom 客户端 api 虚拟无法使用,因此每个人最终都编写了 diskpart.exe 脚本。我当然错了。

4

0 回答 0