Форум: "Сети";
Текущий архив: 2012.04.08;
Скачать: [xml.tar.bz2];
ВнизSetupAPI -> GUID устройства Найти похожие ветки
← →
Tailor_McMaffin (2009-10-06 13:14) [0]Приветствую мастера! Помогите найти ответ :)
Глобальная задача: необходимо получить список сетевых устройств и работать с ними.
С помощью SetupAPI.SetupDiGetClassDevs я получаю список устройств по GUID класса ({4D36E972-E325-11CE-BFC1-08002BE10318}). Далее вынимаю информацию по каждому устройству при помощи SetupAPI.SetupDiEnumDeviceInfo и SetupAPI.SetupDiGetDeviceRegistryProperty.
Однако нюанс, как получить GUID полученного конкретного устройства?
← →
Tailor_McMaffin (2009-10-06 13:20) [1]Грубо говоря тот GUID который расположен:
\\HKLM\SYSTEM\CurrentControlSet\Services\{...}.
← →
Tailor_McMaffin (2009-10-06 13:30) [2]Вернее даже в
\\HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\{...}.
← →
Tailor_McMaffin (2009-10-06 14:11) [3]Отвечаю сам:
получаем при помощи SetupAPI.SetupDiGetDeviceRegistryProperty параметр SPDRP_DRIVER:
...
const
SPDRP_DRIVER = $00000009; // Driver (R/W)
...
Далее, создаем функцию:
function ConstructCfgLinkage( IOName: String ): String;
var
SubKey: String;
Reg: TRegistry;
begin
SubKey:= "SYSTEM\\CurrentControlSet\\Control\\Class\\";
SubKey:= SubKey + IOName + "\\";
Reg:= TRegistry.Create( KEY_READ );
try
Reg.RootKey:= HKEY_LOCAL_MACHINE;
if Reg.OpenKey( SubKey, false ) then
begin
Result:= Reg.ReadString("NetCfgInstanceId");
end;
finally
Reg.CloseKey;
Reg.Free;
end;
end;
где IOName это параметр SPDRP_DRIVER устройства.
Вопрос решен, всем спасибо, все свободны!
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2012.04.08;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.003 c