Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Получить список файлов драйвера для устройства [D7, WinXP]


pushkin42 ©   (2009-05-09 16:52:00) 

Сабж. Нужно извлечь список файлов, с которыми работает устройство с заданным GUID (GUID ищется в реестре по имени устройства, к примеру). В интернете ничего путного не нашел.


Дмитрий   (2009-05-18 10:12:00) [1]

Описание функции из SetipAPI. Только перед вызовом этой функции еще нужно вызывать SetupDiGetClassDevs c нужным GUID, SetupDiEnumDeviceInfo. Подробнее почитай здесь http://www.cyberguru.ru/programming/delphi/windows-devices.html


function SetupDiGetDeviceRegistryProperty(DeviceInfoSet: HDEVINFO;
                                         const DeviceInfoData: TSPDevInfoData;
                                         Property_: DWORD;
                                         var PropertyRegDataType: DWORD;
                                         PropertyBuffer: PBYTE;
                                         PropertyBufferSize: DWORD;
                                         var RequiredSize: DWORD): BOOL; stdcall; external 'SetupApi.dll' name 'SetupDiGetDeviceRegistryPropertyA';

Property_:
 SPDRP_DEVICEDESC                  = $00000000; // DeviceDesc (R/W)
 SPDRP_HARDWAREID                  = $00000001; // HardwareID (R/W)
 SPDRP_COMPATIBLEIDS               = $00000002; // CompatibleIDs (R/W)
 SPDRP_UNUSED0                     = $00000003; // unused
 SPDRP_SERVICE                     = $00000004; // Service (R/W)
 SPDRP_UNUSED1                     = $00000005; // unused
 SPDRP_UNUSED2                     = $00000006; // unused
 SPDRP_CLASS                       = $00000007; // Class (R--tied to ClassGUID)
 SPDRP_CLASSGUID                   = $00000008; // ClassGUID (R/W)
 SPDRP_DRIVER                      = $00000009; // Driver (R/W)
 SPDRP_CONFIGFLAGS                 = $0000000A; // ConfigFlags (R/W)
 SPDRP_MFG                         = $0000000B; // Mfg (R/W)
 SPDRP_FRIENDLYNAME                = $0000000C; // FriendlyName (R/W)
 SPDRP_LOCATION_INFORMATION        = $0000000D; // LocationInformation (R/W)
 SPDRP_PHYSICAL_DEVICE_OBJECT_NAME = $0000000E; // PhysicalDeviceObjectName (R)
 SPDRP_CAPABILITIES                = $0000000F; // Capabilities (R)
 SPDRP_UI_NUMBER                   = $00000010; // UiNumber (R)
 SPDRP_UPPERFILTERS                = $00000011; // UpperFilters (R/W)
 SPDRP_LOWERFILTERS                = $00000012; // LowerFilters (R/W)
 SPDRP_BUSTYPEGUID                 = $00000013; // BusTypeGUID (R)
 SPDRP_LEGACYBUSTYPE               = $00000014; // LegacyBusType (R)
 SPDRP_BUSNUMBER                   = $00000015; // BusNumber (R)
 SPDRP_ENUMERATOR_NAME             = $00000016; // Enumerator Name (R)
 SPDRP_SECURITY                    = $00000017; // Security (R/W, binary form)
 SPDRP_SECURITY_SDS                = $00000018; // Security (W, SDS form)
 SPDRP_DEVTYPE                     = $00000019; // Device Type (R/W)
 SPDRP_EXCLUSIVE                   = $0000001A; // Device is exclusive-access (R/W)
 SPDRP_CHARACTERISTICS             = $0000001B; // Device Characteristics (R/W)
 SPDRP_ADDRESS                     = $0000001C; // Device Address (R)
 SPDRP_UI_NUMBER_DESC_FORMAT       = $0000001D;  // UiNumberDescFormat (R/W)
 SPDRP_DEVICE_POWER_DATA           = $0000001E;  // Device Power Data (R)
 SPDRP_REMOVAL_POLICY              = $0000001F;  // Removal Policy (R)
 SPDRP_REMOVAL_POLICY_HW_DEFAULT   = $00000020;  // Hardware Removal Policy (R)
 SPDRP_REMOVAL_POLICY_OVERRIDE     = $00000021;  // Removal Policy Override (RW)
 SPDRP_INSTALL_STATE               = $00000022;  // Device Install State (R)


pushkin42   (2009-05-16 10:25:00) [2]

Удалено модератором
Примечание: п.9


Наверх

Титульная страница Поиск, карта сайта Написать письмо