Мне нужно получить режим передачи hdd (dma или pio) и распечатать его, вы можете найти его в диспетчере устройств (в красном круге на скриншоте). Как получить режим передачи hdd?
Поэтому мне нужно получить информацию в красном круге из программы. Я пытался использовать классы wmi, но Win32_DiskDrive, Win32_IDEController и другие не предоставляют необходимую мне информацию. Наиболее близким к окну свойств из диспетчера устройств был Win32_IDEController, поле Win32_IDEController ["Name"] возвращает строку ATA Channel 1
.
Также я нашел это https://msdn.microsoft.com/en-us/library/windows/hardware/ff550142(v=vs.85).aspx, но он использует irb.h
, то есть часть ddk (wdk), и я никогда не использовал его раньше, поэтому я даже не знаю, как использовать эту функцию.
Теперь я изучаю WDK) Любое решение на любом языке будет хорошо, в проекте я использую C#, но если решение будет на другом языке, я могу записать «DMA» или «PIO» в файл в этом решении выполните его .exe с C# и прочитайте из файла. Решение OFC в C# будет оценено больше.
У вас есть английская версия? трудно точно понять, где находится эта информация в диспетчере устройств. –
@SimonMourier DeviceManager -> выпадающий список IDE ATA/ATAPI ->, щелкните правой кнопкой мыши по каналу и выберите «свойства» -> расширенные свойства (вторая вкладка). Windows 7. – Nikita
Вы пробовали AdapterUsesPio из структуры STORAGE_ADAPTER_DESCRIPTOR (https://msdn.microsoft.com/en-us/library/windows/desktop/ff800832.aspx), я разместил здесь пример: http: // pastebin .com/LSHCy08y, но я не могу протестировать, так как у меня нет IDE-дисков. –