home *** CD-ROM | disk | FTP | other *** search
- {*******************************************************}
- { }
- { MiTeC System Information Component }
- { Device Detection Part }
- { version 8.3.1 for Delphi 5,6,7 }
- { }
- { Copyright ⌐ 1997,2003 Michal Mutl }
- { }
- {*******************************************************}
-
- {$INCLUDE MITEC_DEF.INC}
-
- unit MSI_Devices;
-
- interface
-
- uses
- SysUtils, Windows, Classes, MiTeC_NTDDK;
-
- type
- TDeviceClass = (dcBattery, dcComputer, dcDiskDrive, dcDisplay, dcCDROM, dcfdc,
- dcFloppyDisk, dcGPS, dcHIDClass, dchdc, dc1394, dcImage, dcInfrared,
- dcKeyboard, dcMediumChanger, dcMTD, dcMouse, dcModem, dcMonitor,
- dcMultiFunction, dcPortSerial, dcNet, dcLegacyDriver,
- dcNtApm, dcUnknown, dcPCMCIA, dcPorts, dcPrinter, dcSCSIAdapter,
- dcSmartCardReader, dcMEDIA, dcVolume, dcSystem, dcTapeDrive,
- dcTapeController, dcTape, dcUSB, dcProcessor);
-
- PDevice = ^TDevice;
-
- TDevice = record
- Name,
- ClassName,
- ClassDesc,
- ClassIcon,
- FriendlyName,
- Description,
- GUID,
- Manufacturer,
- Location: String;
- PCINumber,
- DeviceNumber,
- FunctionNumber: Integer;
- HardwareID,
- DeviceParam,
- Driver,
- DriverDate,
- DriverVersion,
- DriverProvider,
- InfPath,
- Service,
- ServiceName,
- ServiceGroup: string;
- ServiceType: integer;
- RegKey: string;
- ResourceListKey,
- ResourceListValue: string;
- DeviceClass :TDeviceClass;
- end;
-
- TDeviceList = TStringList;
-
- TResourceItem = record
- Resource: shortstring;
- Share: CM_SHARE_DISPOSITION;
- Device: shortstring;
- DeviceClass :TDeviceClass;
- end;
-
- TResourceList = array of TResourceItem;
-
- TDevices = class(TPersistent)
- private
- FCount: integer;
- FDeviceList: TDeviceList;
- function GetDevice(Index: integer): TDevice;
- function GetDeviceCount: integer;
- procedure ScanDevices(var ADeviceList: TDeviceList);
- function GetDeviceClass(AClassName: string): TDeviceClass;
- procedure GetLocation(ASource: string; var PCI,Device,Func: Integer);
-
- procedure ClearList;
- public
- constructor Create;
- destructor Destroy; override;
- procedure GetInfo;
- procedure GetDeviceResources(Adevice: TDevice; var DR: TDeviceResources);
- procedure GetResourceList(var RL: TResourceList);
- procedure Report(var sl :TStringList; Standalone: Boolean = True); virtual;
- procedure GetDevicesByClass(ADeviceClass: TDeviceClass; var ADevices: TStrings);
- property Devices[Index: integer]: TDevice read GetDevice;
- published
- property DeviceCount: integer read FCount {$IFNDEF D6PLUS} write FCount {$ENDIF} stored False;
- end;
-
-
-
- implementation
-
-