Delphi - перечисление номеров портов ввода-вывода SATA в Windows

Новый для тебя. Я готов помочь другому программисту перенести его программу с C# на Delphi. Я не могу по-настоящему прочитать C#, и при этом он не прислал мне фактический источник, поэтому из обсуждения я думаю, что я собираюсь решить большую часть этого с одной функции в определенный момент времени.

Мне нужно иметь возможность получить номера портов ввода-вывода для всех устройств SATA (я думаю, я имею в виду устройства), подключенных к системе. Я знаю, что WMI не сделает этого, поэтому я не уверен, с чего начать. Я знаю, что C# версия этого приложения использует класс C#, который в основном анализирует реестр. Я всегда был в восторге от непосредственного чтения из реестра. Я чувствую, что получение информации из Windows API или связанных с ней является более надежным между версиями Windows, если это возможно.

1 ответ

Если оригинал читает реестр, а вы портируете функцию, чтение реестра выглядит для меня как совершенно правильное решение?

Кстати, у Delphi есть класс TRegistry из модуля registry.pas. Вы можете использовать это для чтения и записи реестра. По умолчанию вы запрашиваете все права (чтение / запись..) в Vista, это может быть проблемой, поэтому обязательно открывайте только для чтения, если вы планируете только чтение.

Ключевые ценности:

KEY_READ
KEY_WRITE 
KEY_EXECUTE
KEY_ALL_ACCESS

На самом деле это наборы, составленные из базовых значений:

KEY_QUERY_VALUE       
KEY_SET_VALUE         
KEY_CREATE_SUB_KEY    
KEY_ENUMERATE_SUB_KEYS
KEY_NOTIFY     
KEY_CREATE_LINK
KEY_WOW64_32KEY
KEY_WOW64_64KEY
KEY_WOW64_RES
Другие вопросы по тегам