2

Я, по общему признанию, очень плохо знаком со всей "вещью" WMI. Эта "вещь" довольно ошеломляющая, и я не нахожу ответа на вопрос, который у меня есть на данный момент. Я нашел лучшую информацию о дисках в моей системе, используя Win32_DiskDrive . Кажется, что поле PNPDeviceID даже кодирует порт #, к которому подключен конкретный диск SATA для его HBA. Однако, как я могу связать определенный диск с его HBA? Кажется, что ни одно из полей в классе Win32_DiskDrive не содержит эту информацию. Я знаю, что он подключен к Intel HBA на моем MB. Например, поле PNPDeviceID для моего загрузочного диска:

PNPDeviceID IDE\DISKWDC_WD2500AAKS-00L9A0___________________0956____\6&C07A520&0&0.1.0

Мне интересно, что классы WMI идентифицируют этот диск как диск IDE, поскольку это SATA, но меня это не сильно волнует. Что более интересно, как мне подключить этот диск к HBA? Есть ли класс WMI, в котором есть интересующее меня поле?

В качестве дополнительного вопроса, в приведенном выше тексте, как мне интерпретировать значения после этого второго \ символа?

2 ответа2

0

Вы должны смотреть на родителей. Я не уверен, как это отображается в WMI, но API диспетчера устройств предоставляет CM_Get_Parent .

0

CIM_ControlledBy должен предоставить вам контроллер как Antecedent, когда зависимый является экземпляром Win32_PNPEntity с заданным PNPDeviceID, т.е.

select DeviceID from Win32_PNPEntity where PNPDeviceID = '...'
associators of {Win32_PNPEntity.DeviceId = '...'} where AssocClass = CIM_ControlledBy

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .