home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chip 2004 February
/
Chip_2004-02_cd1.bin
/
zkuste
/
konfig
/
download
/
msic
/
Help
/
Int
/
MSI_Devices.int
< prev
next >
Wrap
Text File
|
2003-08-26
|
3KB
|
100 lines
{*******************************************************}
{ }
{ 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