【问题标题】:mapping win32_logicaldisk to win32_diskdrive?将 win32_logicaldisk 映射到 win32_diskdrive?
【发布时间】:2012-05-21 13:56:08
【问题描述】:

我正在构建一个 Adob​​e Air 应用程序,我只能在其中获取我插入的特定 USB 拇指驱动器的“驱动器号”。

如果驱动器号为D:,也可以使用wmic logicaldisk where 'DeviceId="D:"' 轻松获取此驱动器

但我真正想要的是获取前面提到的驱动器的 Win32_DiskDrive 类的 PNPDeviceID。

据我所知,将 win32_logicaldisk 和 win32_diskdrive 与介于两者之间的某个类链接可以解决问题,但我想不出办法。

因此,我恳请您在此线程上提出您的专业知识以解决此问题。

干杯

SJ

【问题讨论】:

  • Windows 没有“磁盘”和 USB 设备的一对一映射。 USB 设备可能有零个磁盘(例如鼠标;))或两个(分区的 USB 磁盘)。
  • 你说得对,我感兴趣的是将来自 Win32_LogicalDisk 的驱动器号映射到来自 Win32_DiskDrive 类的 PNPDeviceID。所以我可以很容易地通过它安装的驱动器号获得 USB 驱动器的 PNPDeviceID(又名硬件 UID)。这就是我想要实现的目标。 :)

标签: c++ winapi wmi command-line-interface flash-cs5


【解决方案1】:

我相信您需要两个不同的 WMI 类来派生它。首先,Win32_LogicalDiskToPartition,(显然)将逻辑磁盘映射到一个分区。然后您可以使用Win32_DiskDriveToDiskPartition 来查找保存该分区的物理驱动器。

【讨论】:

  • 您好,感谢您的回复,但是这两个类(LogicalDiskToPartition 和 DiskDriveToDiskPartition)不包含与 Win32_LogicalDisk 或 Win32_DiskDrive 链接的信息。所以这不是一个好方法:(
  • @SupunJ 每个类的先行/从属属性都包含指向 Win32_LogicalDrive、Win32_DiskPartition 和 Win32_DiskDrive 对象的 DeviceId 属性的链接,并在三者之间形成逻辑连接。
【解决方案2】:

从这里找到答案http://forum.exetools.com/showthread.php?t=11226

WMIC PATH WIN32_DISKPARTITION ASSOC

感谢你们的帮助!

【讨论】:

    猜你喜欢
    • 2019-05-27
    • 1970-01-01
    • 2020-05-16
    • 2019-07-08
    • 2012-01-10
    • 2012-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多