Вниз
Скачать: CL | DM;

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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.006 c
15-1323312036
Slider007
2011-12-08 06:40
2012.04.08
Поиск работы продолжается


15-1323404238
vajo
2011-12-09 08:17
2012.04.08
Удаленный рабочий стол


2-1324135784
igorium
2011-12-17 19:29
2012.04.08
TabControl и 64-битная Windows


15-1323268620
tee_off
2011-12-07 18:37
2012.04.08
создание объекта внутри своего отдельного юнита


15-1323421521
Ziggor
2011-12-09 13:05
2012.04.08
C чего начать?




   Наверх