I need hardware information just as listed below which was generated using lshw in linux. I need a windows equivalent without a GUI more preferably like a code or dll which can be used to extract the information in the same tree like structure. Please note Wmi is not a suitable option as it does not give me empty slots while lshw does.
test-pc3
description: Desktop Computer
version: System Version
width: 32 bits
capabilities: smbios-2.5 dmi-2.5 smp-1.4 smp
configuration: boot=normal chassis=desktop cpus=2 family=To Be Filled By O.E.M. sku=To Be Filled By O.E.M. uuid=C0EFA9AB-8DFE-D511-9075-BCAEC5B65DA4
*-core
description: Motherboard
product: M4N68T-M-LE-V2
vendor: ASUSTeK Computer INC.
physical id: 0
version: Rev X.0x
serial: MT700CK35903797
slot: To Be Filled By O.E.M.
*-firmware
description: BIOS
vendor: American Megatrends Inc.
physical id: 0
version: 0402
date: 07/30/2010
size: 64KiB
capacity: 960KiB
capabilities: isa pci pnp apm upgrade shadowing escd cdboot bootselect socketedrom edd int13floppy1200 int13floppy720 int13floppy2880 int5printscreen int9keyboard int14serial int17printer int10video acpi usb ls120boot zipboot biosbootspecification
*-cpu:0
description: CPU
product: AMD Athlon(tm) II X2 250 Processor
vendor: Hynix Semiconductor (Hyundai Electronics)
physical id: 3
bus info: cpu@0
version: 15.6.3
serial: To Be Filled By O.E.M.
slot: AM3
size: 3GHz
capacity: 3GHz
width: 64 bits
clock: 200MHz
capabilities: x86-64 boot fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp 3dnowext 3dnow constant_tsc nonstop_tsc extd_apicid pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt npt lbrv svm_lock nrip_save cpufreq
configuration: cores=2 enabledcores=2
*-cache:0
description: L1 cache
physical id: 5
slot: L1-Cache
size: 128KiB
capacity: 256KiB
capabilities: pipeline-burst internal varies data
*-cache:1
description: L2 cache
physical id: 6
slot: L2-Cache
size: 1MiB
capacity: 2MiB
capabilities: pipeline-burst internal varies unified
*-memory:0
description: System Memory
physical id: 2a
slot: System board or motherboard
size: 2GiB
*-bank:0
description: DIMM Synchronous 1333 MHz (0.8 ns)
product: PartNum0
vendor: Manufacturer0
physical id: 0
serial: SerNum0
slot: DIMM0
size: 2GiB
width: 64 bits
clock: 1333MHz (0.8ns)
*-bank:1
description: DIMM [empty]
product: PartNum1
vendor: Manufacturer1
physical id: 1
serial: SerNum1
slot: DIMM1
*-cpu:1
physical id: 4
bus info: cpu@1
version: 15.6.3
size: 3GHz
capacity: 3GHz
capabilities: cpufreq
*-cache:0
description: L1 cache
physical id: 0
size: 128KiB
*-cache:1
description: L2 cache
physical id: 1
size: 1MiB
*-memory:1 UNCLAIMED
description: RAM memory
product: MCP61 LPC Bridge
vendor: nVidia Corporation
physical id: a
bus info: pci@0000:00:00.0
version: a1
width: 32 bits
clock: 66MHz (15.2ns)
capabilities: ht bus_master cap_list
configuration: latency=0
*-isa
description: ISA bridge
product: MCP61 LPC Bridge
vendor: nVidia Corporation
physical id: 1
bus info: pci@0000:00:01.0
version: a2
width: 32 bits
clock: 66MHz
capabilities: isa bus_master
configuration: latency=0
resources: ioport:900(size=256)
*-serial
description: SMBus
product: MCP61 SMBus
vendor: nVidia Corporation
physical id: 1.1
bus info: pci@0000:00:01.1
version: a2
width: 32 bits
clock: 66MHz
capabilities: pm cap_list
configuration: driver=nForce2_smbus latency=0
resources: irq:10 ioport:e00(size=64) ioport:600(size=64) ioport:700(size=64)
*-memory:2 UNCLAIMED
description: RAM memory
product: MCP61 Memory Controller
vendor: nVidia Corporation
physical id: 1.2
bus info: pci@0000:00:01.2
version: a2
width: 32 bits
clock: 66MHz (15.2ns)
configuration: latency=0
*-usb:0
description: USB Controller
product: MCP61 USB Controller
vendor: nVidia Corporation
physical id: 2
bus info: pci@0000:00:02.0
version: a3
width: 32 bits
clock: 66MHz
capabilities: pm ohci bus_master cap_list
configuration: driver=ohci_hcd latency=0 maxlatency=1 mingnt=3
resources: irq:20 memory:dfefb000-dfefbfff
*-usb:1
description: USB Controller
product: MCP61 USB Controller
vendor: nVidia Corporation
physical id: 2.1
bus info: pci@0000:00:02.1
version: a3
width: 32 bits
clock: 66MHz
capabilities: debug pm ehci bus_master cap_list
configuration: driver=ehci_hcd latency=0 maxlatency=1 mingnt=3
resources: irq:21 memory:dfefac00-dfefacff
*-pci:0
description: PCI bridge
product: MCP61 PCI bridge
vendor: nVidia Corporation
physical id: 100
bus info: pci@0000:00:04.0
version: a1
width: 32 bits
clock: 66MHz
capabilities: pci ht subtractive_decode bus_master cap_list
resources: ioport:e000(size=4096) memory:dff00000-dfffffff
*-network
description: Ethernet interface
product: RTL-8139/8139C/8139C+
vendor: Realtek Semiconductor Co., Ltd.
physical id: 6
bus info: pci@0000:01:06.0
logical name: eth1
version: 10
serial: 00:21:27:c6:00:27
size: 100Mbit/s
capacity: 100Mbit/s
width: 32 bits
clock: 33MHz
capabilities: pm bus_master cap_list rom ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=8139too driverversion=0.9.28 duplex=full ip=192.168.1.5 latency=64 link=yes maxlatency=64 mingnt=32 multicast=yes port=MII speed=100Mbit/s
resources: irq:19 ioport:e800(size=256) memory:dffffc00-dffffcff memory:dffc0000-dffdffff
*-multimedia
description: Audio device
product: MCP61 High Definition Audio
vendor: nVidia Corporation
physical id: 5
bus info: pci@0000:00:05.0
version: a2
width: 32 bits
clock: 66MHz
capabilities: pm msi ht bus_master cap_list
configuration: driver=HDA Intel latency=0 maxlatency=5 mingnt=2
resources: irq:22 memory:dfef4000-dfef7fff
*-ide:0
description: IDE interface
product: MCP61 IDE
vendor: nVidia Corporation
physical id: 6
bus info: pci@0000:00:06.0
version: a2
width: 32 bits
clock: 66MHz
capabilities: ide pm bus_master cap_list
configuration: driver=pata_amd latency=0 maxlatency=1 mingnt=3
resources: irq:0 ioport:1f0(size=8) ioport:3f6 ioport:170(size=8) ioport:376 ioport:ffa0(size=16)
*-bridge
description: Ethernet interface
product: MCP61 Ethernet
vendor: nVidia Corporation
physical id: 7
bus info: pci@0000:00:07.0
logical name: eth0
version: a2
serial: bc:ae:c5:b6:5d:a4
size: 100000000
capacity: 1000000000
width: 32 bits
clock: 66MHz
capabilities: bridge pm msi ht bus_master cap_list ethernet physical mii 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=forcedeth driverversion=0.64 duplex=full ip=10.0.0.53 latency=0 link=yes maxlatency=20 mingnt=1 multicast=yes port=MII speed=100Mbit/s
resources: irq:43 memory:dfef9000-dfef9fff ioport:d480(size=8)
*-ide:1
description: IDE interface
product: MCP61 SATA Controller
vendor: nVidia Corporation
physical id: 8
bus info: pci@0000:00:08.0
logical name: scsi3
version: a2
width: 32 bits
clock: 66MHz
capabilities: ide pm msi ht bus_master cap_list emulated
configuration: driver=sata_nv latency=0 maxlatency=1 mingnt=3
resources: irq:23 ioport:d400(size=8) ioport:d080(size=4) ioport:d000(size=8) ioport:cc00(size=4) ioport:c880(size=16) memory:dfef8000-dfef8fff
*-disk
description: ATA Disk
product: ST3250312AS
vendor: Seagate
physical id: 0.0.0
bus info: scsi@3:0.0.0
logical name: /dev/sda
version: JC45
serial: 5VMVP3ER
size: 232GiB (250GB)
capabilities: partitioned partitioned:dos
configuration: ansiversion=5 signature=00065eee
*-volume:0
description: EXT4 volume
vendor: Linux
physical id: 1
bus info: scsi@3:0.0.0,1
logical name: /dev/sda1
logical name: /
version: 1.0
serial: b09b2d81-893c-4078-a0f5-ed3f095feb6a
size: 74GiB
capacity: 74GiB
capabilities: primary bootable journaled extended_attributes large_files huge_files dir_nlink recover extents ext4 ext2 initialized
configuration: created=2011-05-13 20:23:38 filesystem=ext4 lastmountpoint=/ modified=2011-10-02 22:38:18 mount.fstype=ext4 mount.options=rw,relatime,errors=remount-ro,barrier=1,data=ordered mounted=2011-10-09 16:06:10 state=mounted
*-volume:1
description: Extended partition
physical id: 2
bus info: scsi@3:0.0.0,2
logical name: /dev/sda2
size: 2860MiB
capacity: 2860MiB
capabilities: primary extended partitioned partitioned:extended
*-logicalvolume
description: Linux swap / Solaris partition
physical id: 5
logical name: /dev/sda5
capacity: 2860MiB
capabilities: nofs
*-volume:2
description: Windows FAT volume
vendor: MSWIN4.1
physical id: 3
bus info: scsi@3:0.0.0,3
logical name: /dev/sda3
logical name: /windows
version: FAT32
serial: 874c-2af5
size: 37GiB
capacity: 37GiB
capabilities: primary fat initialized
configuration: FATs=2 filesystem=fat mount.fstype=vfat mount.options=rw,relatime,gid=46,fmask=0007,dmask=0007,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro state=mounted
*-volume:3
description: Windows FAT volume
vendor: MSWIN4.1
physical id: 4
bus info: scsi@3:0.0.0,4
logical name: /dev/sda4
logical name: /dos
version: FAT32
serial: 7144-97bc
size: 118GiB
capacity: 118GiB
capabilities: primary fat initialized
configuration: FATs=2 filesystem=fat mount.fstype=vfat mount.options=rw,relatime,gid=46,fmask=0007,dmask=0007,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro state=mounted
*-ide:2
description: IDE interface
product: MCP61 SATA Controller
vendor: nVidia Corporation
physical id: 8.1
bus info: pci@0000:00:08.1
logical name: scsi5
version: a2
width: 32 bits
clock: 66MHz
capabilities: ide pm msi ht bus_master cap_list emulated
configuration: driver=sata_nv latency=0 maxlatency=1 mingnt=3
resources: irq:22 ioport:c800(size=8) ioport:c480(size=4) ioport:c400(size=8) ioport:c080(size=4) ioport:c000(size=16) memory:dfeef000-dfeeffff
*-cdrom
description: DVD-RAM writer
product: DVDRAM GH22NS50
vendor: HL-DT-ST
physical id: 0.0.0
bus info: scsi@5:0.0.0
logical name: /dev/cdrom
logical name: /dev/cdrw
logical name: /dev/dvd
logical name: /dev/dvdrw
logical name: /dev/scd0
logical name: /dev/sr0
version: TN03
capabilities: removable audio cd-r cd-rw dvd dvd-r dvd-ram
configuration: ansiversion=5 status=nodisc
*-pci:1
description: PCI bridge
product: MCP61 PCI Express bridge
vendor: nVidia Corporation
physical id: 9
bus info: pci@0000:00:09.0
version: a2
width: 32 bits
clock: 33MHz
capabilities: pci pm msi ht pciexpress normal_decode bus_master cap_list
configuration: driver=pcieport
resources: irq:40
*-pci:2
description: PCI bridge
product: MCP61 PCI Express bridge
vendor: nVidia Corporation
physical id: b
bus info: pci@0000:00:0b.0
version: a2
width: 32 bits
clock: 33MHz
capabilities: pci pm msi ht pciexpress normal_decode bus_master cap_list
configuration: driver=pcieport
resources: irq:41
*-pci:3
description: PCI bridge
product: MCP61 PCI Express bridge
vendor: nVidia Corporation
physical id: c
bus info: pci@0000:00:0c.0
version: a2
width: 32 bits
clock: 33MHz
capabilities: pci pm msi ht pciexpress normal_decode bus_master cap_list
configuration: driver=pcieport
resources: irq:42
*-display
description: VGA compatible controller
product: C61 [GeForce 7025 / nForce 630a]
vendor: nVidia Corporation
physical id: d
bus info: pci@0000:00:0d.0
version: a2
width: 64 bits
clock: 66MHz
capabilities: pm msi vga_controller bus_master cap_list rom
configuration: driver=nvidia latency=0
resources: irq:21 memory:de000000-deffffff memory:c0000000-cfffffff memory:dd000000-ddffffff memory:dfec0000-dfedffff
*-pci:4
description: Host bridge
product: Family 10h Processor HyperTransport Configuration
vendor: Hynix Semiconductor (Hyundai Electronics)
physical id: 101
bus info: pci@0000:00:18.0
version: 00
width: 32 bits
clock: 33MHz
*-pci:5
description: Host bridge
product: Family 10h Processor Address Map
vendor: Hynix Semiconductor (Hyundai Electronics)
physical id: 102
bus info: pci@0000:00:18.1
version: 00
width: 32 bits
clock: 33MHz
*-pci:6
description: Host bridge
product: Family 10h Processor DRAM Controller
vendor: Hynix Semiconductor (Hyundai Electronics)
physical id: 103
bus info: pci@0000:00:18.2
version: 00
width: 32 bits
clock: 33MHz
*-pci:7
description: Host bridge
product: Family 10h Processor Miscellaneous Control
vendor: Hynix Semiconductor (Hyundai Electronics)
physical id: 104
bus info: pci@0000:00:18.3
version: 00
width: 32 bits
clock: 33MHz
configuration: driver=k10temp
resources: irq:0
*-pci:8
description: Host bridge
product: Family 10h Processor Link Control
vendor: Hynix Semiconductor (Hyundai Electronics)
physical id: 105
bus info: pci@0000:00:18.4
version: 00
width: 32 bits
clock: 33MHz
*-scsi
physical id: e
bus info: usb@1:7
logical name: scsi26
capabilities: emulated scsi-host
configuration: driver=usb-storage
*-disk
description: SCSI Disk
physical id: 0.0.0
bus info: scsi@26:0.0.0
logical name: /dev/sdb
You can have a look at Microsoft's DevCon
: The DevCon command-line utility functions as an alternative to Device Manager.
The source code for DevCon
is also available in the Windows DDK (which is available from http://www.microsoft.com/whdc/devtools/ddk/default.mspx) under DDK root\Src\Setup\Devcon
, along with documentation. The source code shows you how to use the various API in the SetupAPI.