Главная страница
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.007 c
15-1322861999
константин
2011-12-03 01:39
2012.04.08
jvcl


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


6-1254475158
ocean
2009-10-02 13:19
2012.04.08
Как работать с документами в Интернете?


2-1324104343
ШК
2011-12-17 10:45
2012.04.08
Обмен данными между приложениями через интернет


2-1324306539
rilmeer
2011-12-19 18:55
2012.04.08
програмное заполнение Tibtable.locate