Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2012.04.08;
Скачать: 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 вся ветка

Текущий архив: 2012.04.08;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.009 c
2-1324367435
gvozdkoff
2011-12-20 11:50
2012.04.08
узнать запущен ли веб сервер


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


15-1323102610
Artem
2011-12-05 20:30
2012.04.08
Прав ли я?


2-1324049370
Валерий
2011-12-16 19:29
2012.04.08
Не компилируеться проэкт на удаленной машине


6-1254820466
Tailor_McMaffin
2009-10-06 13:14
2012.04.08
SetupAPI -> GUID устройства