hakril / PythonForWindows

A codebase aimed to make interaction with Windows and native execution easier
BSD 3-Clause "New" or "Revised" License
573 stars 112 forks source link

Device manager #14

Closed lucasg closed 4 years ago

lucasg commented 4 years ago

Salut,

Je te pose une grosse PR bien baveuse comme asse, avec du code de qualitay. Hésite pas a me tacler sur ce qu'il te semble mal écrit ou pas clair.

Il y a pas longtemps j'ai eu besoin de lister les resources prises par les devices qui tournent (IO ports, MMIO, etc.) sans devoir cliquer partout dans le Device Manager.

Hé bien dis toi que c'est bien la galère pour faire ça, il y a même pas de requete WMI adaptée. Non, à la place faut aller taper dans la bonne vieille API Win32, et plus spécifiquement dans setupapi.dll (qui est designée avec les fesses) et cfmgr32.dll dont le créateur est probablement pas tout seul dans sa tête.

Bref, la douleur habituelle mais au final on s'en sort :

(py3_env) PS C:\Users\lucasg\Desktop\PythonForWindows> python .\samples\device\device_manager.py
-Class XboxComposite                                                   [05F5CFE2-4733-4950-A6BB-07AAD01A3A84]
-Class DXGKrnl                                                         [1264760F-A5C8-4BFE-B314-D56A7B44A362]
-Class RemotePosDevice                                                 [13E42DFA-85D9-424D-8646-28A70F864F9C]
-Class DigitalMediaDevices                                             [14B62F50-3F15-11DD-AE16-0800200C9A66]
-Class PrintQueue                                                      [1ED2BBF9-11F0-4084-B21F-AD83A8E6DCDC]
  -Device : Root Print Queue (\Device\0000008d)
  -Device : Fax (\Device\00000090)
  -Device : Microsoft XPS Document Writer (\Device\0000008f)
  -Device : OneNote (\Device\0000008e)
  -Device : Microsoft Print to PDF (\Device\00000091)
-Class WCEUSBS                                                         [25DBCE51-6C8F-4A72-8A6D-B54C2B4FC835]
-Class SecurityAccelerator                                             [268C95A1-EDFE-11D3-95C3-0010DC4050A5]
-Class HidMsr                                                          [2A9FE532-0CDC-44F9-9827-76192F2CA2FB]
-Class SystemRecovery                                                  [2DB15374-706E-4131-A0C7-D7C78EB0289A]
-Class vhdmp                                                           [2EA9B43F-3045-43B5-80F2-FD06C55FBB90]
-Class fvevol                                                          [3163C566-D381-4467-87BC-A65A18D5B648]
-Class fvevol                                                          [3163C566-D381-4467-87BC-A65A18D5B649]
-Class USB                                                             [36FC9E60-C465-11CF-8056-444553540000]
  -Device : USB Mass Storage Device
  -Device : USB Root Hub (USB 3.0) (\Device\USBPDO-0)
  -Device : USB Mass Storage Device
  -Device : Generic USB Hub (\Device\USBPDO-5)
  -Device : Generic USB Hub (\Device\USBPDO-6)
  -Device : USB Mass Storage Device
  -Device : Standard Universal PCI to USB Host Controller (\Device\NTPNP_PCI0040)
    -IoDeviceResource   : [0000000000001000-000000000000101f]
    -IrqDeviceResource  : [0000000000000012]
  -Device : Standard Enhanced PCI to USB Host Controller (\Device\NTPNP_PCI0042)
    -MmioDeviceResource : [00000000fc005000-00000000fc005fff]
    -IrqDeviceResource  : [0000000000000010]
  -Device : Standard USB 3.0 eXtensible Host Controller - 1.0 (Microsoft) (\Device\NTPNP_PCI0047)
    -MmioDeviceResource : [00000000fd900000-00000000fd91ffff]
    -IrqDeviceResource  : [00000000ffffffda]
    -IrqDeviceResource  : [00000000ffffffd9]
    -IrqDeviceResource  : [00000000ffffffd8]
  -Device : USB Mass Storage Device
  -Device : USB Root Hub (\Device\USBPDO-2)
  -Device : USB Root Hub (\Device\USBPDO-1)
  -Device : USB Composite Device (\Device\USBPDO-3)
-Class PROCMON24                                                       [3A1380F4-708F-49DE-B2EF-04D25EB009D5]
-Class ContentScreener                                                 [3E3F0674-C83C-4558-BB26-9820E1EBA5C5]
-Class Media Center Extender                                           [43675D81-502A-4A82-9F84-B75F418C5DEA]
-Class PnpPrinters                                                     [4658EE7E-F050-11D1-B6BD-00C04FA372A7]
-Class Dot4                                                            [48721B56-6795-11D2-B1A8-0080C72E74A2]
-Class Replication                                                     [48D3EBC4-4CF8-48FF-B869-9C68AD42EB9F]
-Class Dot4Print                                                       [49CE6AC8-6F86-11D2-B1E5-0080C72E74A2]
-Class CDROM                                                           [4D36E965-E325-11CE-BFC1-08002BE10318]
  -Device : NECVMWar VMware SATA CD00 (\Device\0000006e)
-Class Computer                                                        [4D36E966-E325-11CE-BFC1-08002BE10318]
  -Device : ACPI x64-based PC (\Device\00000009)
-Class DiskDrive                                                       [4D36E967-E325-11CE-BFC1-08002BE10318]
  -Device : Kingston DataTraveler 3.0 USB Device
  -Device : VMware, VMware Virtual S SCSI Disk Device (\Device\0000006c)
  -Device : Kingston DataTraveler 3.0 USB Device
  -Device : Kingston DataTraveler 3.0 USB Device
  -Device : Kingston DataTraveler 3.0 USB Device
-Class Display                                                         [4D36E968-E325-11CE-BFC1-08002BE10318]
  -Device : VMware SVGA 3D (\Device\NTPNP_PCI0006)
    -MmioDeviceResource : [00000000f0000000-00000000f7ffffff]
    -MmioDeviceResource : [00000000fb800000-00000000fbffffff]
    -MmioDeviceResource : [00000000000a0000-00000000000bffff]
    -IoDeviceResource   : [0000000000002040-000000000000204f]
    -IoDeviceResource   : [00000000000003b0-00000000000003bb]
    -IoDeviceResource   : [00000000000003c0-00000000000003df]
    -IrqDeviceResource  : [0000000000000010]
-Class FDC                                                             [4D36E969-E325-11CE-BFC1-08002BE10318]
-Class HDC                                                             [4D36E96A-E325-11CE-BFC1-08002BE10318]
  -Device : Standard SATA AHCI Controller (\Device\NTPNP_PCI0043)
    -MmioDeviceResource : [00000000fc004000-00000000fc004fff]
    -IrqDeviceResource  : [00000000ffffffdb]
  -Device : Intel(R) 82371AB/EB PCI Bus Master IDE Controller (\Device\NTPNP_PCI0003)
    -IoDeviceResource   : [0000000000002050-000000000000205f]
  -Device : ATA Channel 0 (\Device\Ide\PciIde0Channel0)
    -IoDeviceResource   : [00000000000001f0-00000000000001f7]
    -IoDeviceResource   : [00000000000003f6-00000000000003f6]
    -IrqDeviceResource  : [000000000000000e]
  -Device : ATA Channel 1 (\Device\Ide\PciIde0Channel1)
    -IoDeviceResource   : [0000000000000170-0000000000000177]
    -IoDeviceResource   : [0000000000000376-0000000000000376]
    -IrqDeviceResource  : [000000000000000f]
-Class Keyboard                                                        [4D36E96B-E325-11CE-BFC1-08002BE10318]
  -Device : Standard PS/2 Keyboard (\Device\00000067)
    -IoDeviceResource   : [0000000000000060-0000000000000060]
    -IoDeviceResource   : [0000000000000064-0000000000000064]
    -IrqDeviceResource  : [0000000000000001]
-Class MEDIA                                                           [4D36E96C-E325-11CE-BFC1-08002BE10318]
  -Device : Microsoft Streaming Service Proxy
  -Device : High Definition Audio Device (\Device\00000072)
  -Device : Microsoft Streaming Tee/Sink-to-Sink Converter
  -Device : Microsoft Trusted Audio Drivers
  -Device : Microsoft Streaming Quality Manager Proxy
  -Device : Microsoft Streaming Clock Proxy
  -Device : Microsoft Streaming Tee/Sink-to-Sink Converter
-Class Modem                                                           [4D36E96D-E325-11CE-BFC1-08002BE10318]
-Class Monitor                                                         [4D36E96E-E325-11CE-BFC1-08002BE10318]
  -Device : Generic Non-PnP Monitor (\Device\00000095)
  -Device : Generic Non-PnP Monitor
-Class Mouse                                                           [4D36E96F-E325-11CE-BFC1-08002BE10318]
  -Device : VMware USB Pointing Device (\Device\00000078)
  -Device : VMware USB Pointing Device (\Device\00000079)
  -Device : VMware Pointing Device (\Device\00000068)
    -IrqDeviceResource  : [000000000000000c]
-Class MTD                                                             [4D36E970-E325-11CE-BFC1-08002BE10318]
-Class MultiFunction                                                   [4D36E971-E325-11CE-BFC1-08002BE10318]
-Class Net                                                             [4D36E972-E325-11CE-BFC1-08002BE10318]
  -Device : WAN Miniport (PPPOE) (\Device\00000089)
  -Device : Intel(R) 82574L Gigabit Network Connection (\Device\NTPNP_PCI0046)
    -MmioDeviceResource : [00000000fe120000-00000000fe13ffff]
    -MmioDeviceResource : [00000000fe100000-00000000fe11ffff]
    -MmioDeviceResource : [00000000fe140000-00000000fe143fff]
    -IrqDeviceResource  : [00000000ffffffd7]
    -IrqDeviceResource  : [00000000ffffffd6]
    -IrqDeviceResource  : [00000000ffffffd5]
    -IrqDeviceResource  : [00000000ffffffd4]
  -Device : Intel(R) 82574L Gigabit Network Connection #2 (\Device\NTPNP_PCI0045)
    -MmioDeviceResource : [00000000fe820000-00000000fe83ffff]
    -MmioDeviceResource : [00000000fe800000-00000000fe81ffff]
    -MmioDeviceResource : [00000000fe840000-00000000fe843fff]
    -IrqDeviceResource  : [00000000ffffffd3]
    -IrqDeviceResource  : [00000000ffffffd2]
    -IrqDeviceResource  : [00000000ffffffd1]
    -IrqDeviceResource  : [00000000ffffffd0]
  -Device : WAN Miniport (PPTP) (\Device\00000088)
  -Device : WAN Miniport (IKEv2) (\Device\00000086)
  -Device : Microsoft Kernel Debug Network Adapter (\Device\00000007)
  -Device : Intel(R) 82574L Gigabit Network Connection #3 (\Device\NTPNP_PCI0048)
    -MmioDeviceResource : [00000000fd120000-00000000fd13ffff]
    -MmioDeviceResource : [00000000fd100000-00000000fd11ffff]
    -MmioDeviceResource : [00000000fd140000-00000000fd143fff]
    -IrqDeviceResource  : [00000000ffffffcf]
    -IrqDeviceResource  : [00000000ffffffce]
    -IrqDeviceResource  : [00000000ffffffcd]
    -IrqDeviceResource  : [00000000ffffffcc]
  -Device : WAN Miniport (Network Monitor) (\Device\0000008c)
  -Device : WAN Miniport (IP) (\Device\0000008a)
  -Device : WAN Miniport (SSTP) (\Device\00000085)
  -Device : Bluetooth Device (Personal Area Network) (\Device\0000007c)
  -Device : WAN Miniport (IPv6) (\Device\0000008b)
  -Device : WAN Miniport (L2TP) (\Device\00000087)
-Class NetClient                                                       [4D36E973-E325-11CE-BFC1-08002BE10318]
-Class NetService                                                      [4D36E974-E325-11CE-BFC1-08002BE10318]
-Class NetTrans                                                        [4D36E975-E325-11CE-BFC1-08002BE10318]
-Class PCMCIA                                                          [4D36E977-E325-11CE-BFC1-08002BE10318]
-Class Ports                                                           [4D36E978-E325-11CE-BFC1-08002BE10318]
  -Device : Communications Port (COM1) (\Device\0000006b)
    -IoDeviceResource   : [00000000000003f8-00000000000003ff]
    -IrqDeviceResource  : [0000000000000004]
-Class Printer                                                         [4D36E979-E325-11CE-BFC1-08002BE10318]
-Class SCSIAdapter                                                     [4D36E97B-E325-11CE-BFC1-08002BE10318]
  -Device : LSI Adapter, SAS 3000 series, 8-port with 1068 (\Device\NTPNP_PCI0044)
    -MmioDeviceResource : [00000000fe910000-00000000fe913fff]
    -MmioDeviceResource : [00000000fe900000-00000000fe90ffff]
    -IrqDeviceResource  : [00000000ffffffdc]
  -Device : Microsoft Storage Spaces Controller (\Device\00000006)
  -Device : Microsoft VHD Loopback Controller
-Class System                                                          [4D36E97D-E325-11CE-BFC1-08002BE10318]
  -Device : Motherboard resources (\Device\0000005e)
    -MmioDeviceResource : [00000000e0000000-00000000e7ffffff]
    -MmioDeviceResource : [00000000ffc00000-00000000ffdfffff]
    -IoDeviceResource   : [0000000000000400-000000000000041f]
  -Device : Motherboard resources (\Device\0000005f)
    -MmioDeviceResource : [00000000fec10000-00000000fec10fff]
  -Device : Generic Bus (\Device\00000014)
  -Device : Generic Bus (\Device\00000015)
  -Device : Generic Bus (\Device\00000016)
  -Device : Generic Bus (\Device\00000017)
  -Device : Generic Bus (\Device\00000018)
  -Device : Generic Bus (\Device\00000019)
  -Device : Generic Bus (\Device\0000001a)
  -Device : Generic Bus (\Device\0000001b)
  -Device : Generic Bus (\Device\0000001e)
  -Device : Generic Bus (\Device\0000001f)
  -Device : Generic Bus (\Device\00000020)
  -Device : Generic Bus (\Device\00000021)
  -Device : Generic Bus (\Device\00000022)
  -Device : Generic Bus (\Device\00000023)
  -Device : Generic Bus (\Device\00000024)
  -Device : Generic Bus (\Device\00000025)
  -Device : Generic Bus (\Device\00000026)
  -Device : Generic Bus (\Device\00000027)
  -Device : Generic Bus (\Device\00000028)
  -Device : Generic Bus (\Device\00000029)
  -Device : Generic Bus (\Device\0000002a)
  -Device : Generic Bus (\Device\0000002b)
  -Device : Generic Bus (\Device\0000002c)
  -Device : Generic Bus (\Device\0000002d)
  -Device : Generic Bus (\Device\0000002e)
  -Device : Generic Bus (\Device\0000002f)
  -Device : Generic Bus (\Device\00000030)
  -Device : Generic Bus (\Device\00000031)
  -Device : Generic Bus (\Device\00000032)
  -Device : Generic Bus (\Device\00000033)
  -Device : Generic Bus (\Device\00000034)
  -Device : Generic Bus (\Device\00000035)
  -Device : Generic Bus (\Device\00000036)
  -Device : Generic Bus (\Device\00000037)
  -Device : Generic Bus (\Device\00000038)
  -Device : Generic Bus (\Device\00000039)
  -Device : Generic Bus (\Device\0000003a)
  -Device : Generic Bus (\Device\0000003b)
  -Device : Generic Bus (\Device\0000003c)
  -Device : Generic Bus (\Device\0000003d)
  -Device : Generic Bus (\Device\0000003e)
  -Device : Generic Bus (\Device\0000003f)
  -Device : Generic Bus (\Device\00000040)
  -Device : Generic Bus (\Device\00000041)
  -Device : Generic Bus (\Device\00000042)
  -Device : Generic Bus (\Device\00000043)
  -Device : Generic Bus (\Device\00000044)
  -Device : Generic Bus (\Device\00000045)
  -Device : Generic Bus (\Device\00000046)
  -Device : Generic Bus (\Device\00000047)
  -Device : Generic Bus (\Device\00000048)
  -Device : Generic Bus (\Device\00000049)
  -Device : Generic Bus (\Device\0000004a)
  -Device : Generic Bus (\Device\0000004b)
  -Device : Generic Bus (\Device\0000004c)
  -Device : Generic Bus (\Device\0000004d)
  -Device : Generic Bus (\Device\0000004e)
  -Device : Generic Bus (\Device\0000004f)
  -Device : Generic Bus (\Device\00000050)
  -Device : Generic Bus (\Device\00000051)
  -Device : Generic Bus (\Device\00000052)
  -Device : Generic Bus (\Device\00000053)
  -Device : Generic Bus (\Device\00000054)
  -Device : Generic Bus (\Device\00000055)
  -Device : Generic Bus (\Device\00000056)
  -Device : Generic Bus (\Device\00000057)
  -Device : Generic Bus (\Device\00000058)
  -Device : Generic Bus (\Device\00000059)
  -Device : Generic Bus (\Device\0000005a)
  -Device : Generic Bus (\Device\0000005b)
  -Device : Generic Bus (\Device\0000005c)
  -Device : Generic Bus (\Device\0000005d)
  -Device : PCI-to-PCI Bridge (\Device\NTPNP_PCI0001)
  -Device : Volume Manager (\Device\00000001)
  -Device : PCI Bus (\Device\00000011)
    -MmioDeviceResource : [00000000000a0000-00000000000bffff]
    -MmioDeviceResource : [00000000000c4000-00000000000c7fff]
    -MmioDeviceResource : [00000000000c8000-00000000000cbfff]
    -MmioDeviceResource : [00000000000d4000-00000000000d7fff]
    -MmioDeviceResource : [00000000000d8000-00000000000dbfff]
    -MmioDeviceResource : [00000000000e4000-00000000000e7fff]
    -MmioDeviceResource : [00000000000e8000-00000000000ebfff]
    -MmioDeviceResource : [00000000000ec000-00000000000effff]
    -MmioDeviceResource : [00000000c0000000-00000000febfffff]
    -MmioDeviceResource : [00000000ff000000-00000000ffdfffff]
    -IoDeviceResource   : [0000000000000000-0000000000000cf7]
    -IoDeviceResource   : [0000000000000d00-000000000000feff]
  -Device : Microsoft Hyper-V Generation Counter (\Device\00000060)
  -Device : Microsoft Basic Display Driver (\Device\00000002)
  -Device : High precision event timer (\Device\00000069)
    -MmioDeviceResource : [00000000fed00000-00000000fed003ff]
  -Device : Microsoft Hyper-V Virtualization Infrastructure Driver (\Device\00000003)
  -Device : Composite Bus Enumerator (\Device\00000004)
  -Device : Microsoft Virtual Drive Enumerator (\Device\00000005)
  -Device : System CMOS/real time clock (\Device\00000065)
    -IoDeviceResource   : [0000000000000070-0000000000000073]
    -IrqDeviceResource  : [0000000000000008]
  -Device : PCI Express Root Port (\Device\NTPNP_PCI0008)
    -MmioDeviceResource : [00000000fe900000-00000000fe9fffff]
    -IoDeviceResource   : [0000000000007000-0000000000007fff]
    -IrqDeviceResource  : [00000000fffffffd]
  -Device : PCI Express Root Port (\Device\NTPNP_PCI0009)
    -MmioDeviceResource : [00000000fe800000-00000000fe8fffff]
    -IoDeviceResource   : [0000000000006000-0000000000006fff]
    -IrqDeviceResource  : [00000000fffffffc]
  -Device : PCI Express Root Port (\Device\NTPNP_PCI0010)
    -MmioDeviceResource : [00000000fe700000-00000000fe7fffff]
    -MmioDeviceResource : [00000000f9f00000-00000000f9ffffff]
    -IrqDeviceResource  : [00000000fffffffb]
  -Device : PCI Express Root Port (\Device\NTPNP_PCI0011)
    -MmioDeviceResource : [00000000fe600000-00000000fe6fffff]
    -MmioDeviceResource : [00000000f9e00000-00000000f9efffff]
    -IrqDeviceResource  : [00000000fffffffa]
  -Device : PCI Express Root Port (\Device\NTPNP_PCI0012)
    -MmioDeviceResource : [00000000fe500000-00000000fe5fffff]
    -MmioDeviceResource : [00000000f9d00000-00000000f9dfffff]
    -IrqDeviceResource  : [00000000fffffff9]
  -Device : PCI Express Root Port (\Device\NTPNP_PCI0013)
    -MmioDeviceResource : [00000000fe400000-00000000fe4fffff]
    -MmioDeviceResource : [00000000f9c00000-00000000f9cfffff]
    -IrqDeviceResource  : [00000000fffffff8]
  -Device : PCI Express Root Port (\Device\NTPNP_PCI0014)
    -MmioDeviceResource : [00000000fe300000-00000000fe3fffff]
    -MmioDeviceResource : [00000000f9b00000-00000000f9bfffff]
    -IrqDeviceResource  : [00000000fffffff7]
  -Device : PCI Express Root Port (\Device\NTPNP_PCI0015)
    -MmioDeviceResource : [00000000fe200000-00000000fe2fffff]
    -MmioDeviceResource : [00000000f9a00000-00000000f9afffff]
    -IrqDeviceResource  : [00000000fffffff6]
  -Device : PCI Express Root Port (\Device\NTPNP_PCI0016)
    -MmioDeviceResource : [00000000fe100000-00000000fe1fffff]
    -IoDeviceResource   : [0000000000004000-0000000000004fff]
    -IrqDeviceResource  : [00000000fffffff5]
  -Device : PCI Express Root Port (\Device\NTPNP_PCI0017)
    -MmioDeviceResource : [00000000fe000000-00000000fe0fffff]
    -MmioDeviceResource : [00000000f9900000-00000000f99fffff]
    -IrqDeviceResource  : [00000000fffffff4]
  -Device : PCI Express Root Port (\Device\NTPNP_PCI0018)
    -MmioDeviceResource : [00000000fdf00000-00000000fdffffff]
    -MmioDeviceResource : [00000000f9800000-00000000f98fffff]
    -IrqDeviceResource  : [00000000fffffff3]
  -Device : PCI Express Root Port (\Device\NTPNP_PCI0019)
    -MmioDeviceResource : [00000000fde00000-00000000fdefffff]
    -MmioDeviceResource : [00000000f9700000-00000000f97fffff]
    -IrqDeviceResource  : [00000000fffffff2]
  -Device : PCI Express Root Port (\Device\NTPNP_PCI0020)
    -MmioDeviceResource : [00000000fdd00000-00000000fddfffff]
    -MmioDeviceResource : [00000000f9600000-00000000f96fffff]
    -IrqDeviceResource  : [00000000fffffff1]
  -Device : PCI Express Root Port (\Device\NTPNP_PCI0021)
    -MmioDeviceResource : [00000000fdc00000-00000000fdcfffff]
    -MmioDeviceResource : [00000000f9500000-00000000f95fffff]
    -IrqDeviceResource  : [00000000fffffff0]
  -Device : PCI Express Root Port (\Device\NTPNP_PCI0022)
    -MmioDeviceResource : [00000000fdb00000-00000000fdbfffff]
    -MmioDeviceResource : [00000000f9400000-00000000f94fffff]
    -IrqDeviceResource  : [00000000ffffffef]
  -Device : PCI Express Root Port (\Device\NTPNP_PCI0023)
    -MmioDeviceResource : [00000000fda00000-00000000fdafffff]
    -MmioDeviceResource : [00000000f9300000-00000000f93fffff]
    -IrqDeviceResource  : [00000000ffffffee]
  -Device : PCI Express Root Port (\Device\NTPNP_PCI0024)
    -MmioDeviceResource : [00000000fd900000-00000000fd9fffff]
    -IrqDeviceResource  : [00000000ffffffed]
  -Device : PCI Express Root Port (\Device\NTPNP_PCI0025)
    -MmioDeviceResource : [00000000fd800000-00000000fd8fffff]
    -MmioDeviceResource : [00000000f9200000-00000000f92fffff]
    -IrqDeviceResource  : [00000000ffffffec]
  -Device : PCI Express Root Port (\Device\NTPNP_PCI0026)
    -MmioDeviceResource : [00000000fd700000-00000000fd7fffff]
    -MmioDeviceResource : [00000000f9100000-00000000f91fffff]
    -IrqDeviceResource  : [00000000ffffffeb]
  -Device : PCI Express Root Port (\Device\NTPNP_PCI0027)
    -MmioDeviceResource : [00000000fd600000-00000000fd6fffff]
    -MmioDeviceResource : [00000000f9000000-00000000f90fffff]
    -IrqDeviceResource  : [00000000ffffffea]
  -Device : PCI Express Root Port (\Device\NTPNP_PCI0028)
    -MmioDeviceResource : [00000000fd500000-00000000fd5fffff]
    -MmioDeviceResource : [00000000f8f00000-00000000f8ffffff]
    -IrqDeviceResource  : [00000000ffffffe9]
  -Device : PCI Express Root Port (\Device\NTPNP_PCI0029)
    -MmioDeviceResource : [00000000fd400000-00000000fd4fffff]
    -MmioDeviceResource : [00000000f8e00000-00000000f8efffff]
    -IrqDeviceResource  : [00000000ffffffe8]
  -Device : PCI Express Root Port (\Device\NTPNP_PCI0030)
    -MmioDeviceResource : [00000000fd300000-00000000fd3fffff]
    -MmioDeviceResource : [00000000f8d00000-00000000f8dfffff]
    -IrqDeviceResource  : [00000000ffffffe7]
  -Device : PCI Express Root Port (\Device\NTPNP_PCI0031)
    -MmioDeviceResource : [00000000fd200000-00000000fd2fffff]
    -MmioDeviceResource : [00000000f8c00000-00000000f8cfffff]
    -IrqDeviceResource  : [00000000ffffffe6]
  -Device : PCI Express Root Port (\Device\NTPNP_PCI0032)
    -MmioDeviceResource : [00000000fd100000-00000000fd1fffff]
    -IoDeviceResource   : [0000000000003000-0000000000003fff]
    -IrqDeviceResource  : [00000000ffffffe5]
  -Device : PCI Express Root Port (\Device\NTPNP_PCI0033)
    -MmioDeviceResource : [00000000fd000000-00000000fd0fffff]
    -MmioDeviceResource : [00000000f8b00000-00000000f8bfffff]
    -IrqDeviceResource  : [00000000ffffffe4]
  -Device : PCI Express Root Port (\Device\NTPNP_PCI0034)
    -MmioDeviceResource : [00000000fcf00000-00000000fcffffff]
    -MmioDeviceResource : [00000000f8a00000-00000000f8afffff]
    -IrqDeviceResource  : [00000000ffffffe3]
  -Device : PCI Express Root Port (\Device\NTPNP_PCI0035)
    -MmioDeviceResource : [00000000fce00000-00000000fcefffff]
    -MmioDeviceResource : [00000000f8900000-00000000f89fffff]
    -IrqDeviceResource  : [00000000ffffffe2]
  -Device : PCI Express Root Port (\Device\NTPNP_PCI0036)
    -MmioDeviceResource : [00000000fcd00000-00000000fcdfffff]
    -MmioDeviceResource : [00000000f8800000-00000000f88fffff]
    -IrqDeviceResource  : [00000000ffffffe1]
  -Device : PCI Express Root Port (\Device\NTPNP_PCI0037)
    -MmioDeviceResource : [00000000fcc00000-00000000fccfffff]
    -MmioDeviceResource : [00000000f8700000-00000000f87fffff]
    -IrqDeviceResource  : [00000000ffffffe0]
  -Device : PCI Express Root Port (\Device\NTPNP_PCI0038)
    -MmioDeviceResource : [00000000fcb00000-00000000fcbfffff]
    -MmioDeviceResource : [00000000f8600000-00000000f86fffff]
    -IrqDeviceResource  : [00000000ffffffdf]
  -Device : PCI Express Root Port (\Device\NTPNP_PCI0039)
    -MmioDeviceResource : [00000000fca00000-00000000fcafffff]
    -MmioDeviceResource : [00000000f8500000-00000000f85fffff]
    -IrqDeviceResource  : [00000000fffffffe]
  -Device : Direct memory access controller (\Device\00000062)
    -IoDeviceResource   : [0000000000000000-000000000000000f]
    -IoDeviceResource   : [0000000000000081-000000000000008f]
    -IoDeviceResource   : [00000000000000c0-00000000000000df]
    -DmaDeviceResource  : [0000000000000004]
  -Device : UMBus Root Bus Enumerator (\Device\00000008)
  -Device : High Definition Audio Controller (\Device\NTPNP_PCI0041)
    -MmioDeviceResource : [00000000fc000000-00000000fc003fff]
    -IrqDeviceResource  : [0000000000000013]
  -Device : Microsoft ACPI-Compliant System (\Device\00000010)
    -IrqDeviceResource  : [0000000000000036]
    -IrqDeviceResource  : [0000000000000037]
    -IrqDeviceResource  : [0000000000000038]
    -IrqDeviceResource  : [0000000000000039]
    -IrqDeviceResource  : [000000000000003a]
    -IrqDeviceResource  : [000000000000003b]
    -IrqDeviceResource  : [000000000000003c]
    -IrqDeviceResource  : [000000000000003d]
    -IrqDeviceResource  : [000000000000003e]
    -IrqDeviceResource  : [000000000000003f]
    -IrqDeviceResource  : [0000000000000040]
    -IrqDeviceResource  : [0000000000000041]
    -IrqDeviceResource  : [0000000000000042]
    -IrqDeviceResource  : [0000000000000043]
    -IrqDeviceResource  : [0000000000000044]
    -IrqDeviceResource  : [0000000000000045]
    -IrqDeviceResource  : [0000000000000046]
    -IrqDeviceResource  : [0000000000000047]
    -IrqDeviceResource  : [0000000000000048]
    -IrqDeviceResource  : [0000000000000049]
    -IrqDeviceResource  : [000000000000004a]
    -IrqDeviceResource  : [000000000000004b]
    -IrqDeviceResource  : [000000000000004c]
    -IrqDeviceResource  : [000000000000004d]
    -IrqDeviceResource  : [000000000000004e]
    -IrqDeviceResource  : [000000000000004f]
    -IrqDeviceResource  : [0000000000000050]
    -IrqDeviceResource  : [0000000000000051]
    -IrqDeviceResource  : [0000000000000052]
    -IrqDeviceResource  : [0000000000000053]
    -IrqDeviceResource  : [0000000000000054]
    -IrqDeviceResource  : [0000000000000055]
    -IrqDeviceResource  : [0000000000000056]
    -IrqDeviceResource  : [0000000000000057]
    -IrqDeviceResource  : [0000000000000058]
    -IrqDeviceResource  : [0000000000000059]
    -IrqDeviceResource  : [000000000000005a]
    -IrqDeviceResource  : [000000000000005b]
    -IrqDeviceResource  : [000000000000005c]
    -IrqDeviceResource  : [000000000000005d]
    -IrqDeviceResource  : [000000000000005e]
    -IrqDeviceResource  : [000000000000005f]
    -IrqDeviceResource  : [0000000000000060]
    -IrqDeviceResource  : [0000000000000061]
    -IrqDeviceResource  : [0000000000000062]
    -IrqDeviceResource  : [0000000000000063]
    -IrqDeviceResource  : [0000000000000064]
    -IrqDeviceResource  : [0000000000000065]
    -IrqDeviceResource  : [0000000000000066]
    -IrqDeviceResource  : [0000000000000067]
    -IrqDeviceResource  : [0000000000000068]
    -IrqDeviceResource  : [0000000000000069]
    -IrqDeviceResource  : [000000000000006a]
    -IrqDeviceResource  : [000000000000006b]
    -IrqDeviceResource  : [000000000000006c]
    -IrqDeviceResource  : [000000000000006d]
    -IrqDeviceResource  : [000000000000006e]
    -IrqDeviceResource  : [000000000000006f]
    -IrqDeviceResource  : [0000000000000070]
    -IrqDeviceResource  : [0000000000000071]
    -IrqDeviceResource  : [0000000000000072]
    -IrqDeviceResource  : [0000000000000073]
    -IrqDeviceResource  : [0000000000000074]
    -IrqDeviceResource  : [0000000000000075]
    -IrqDeviceResource  : [0000000000000076]
    -IrqDeviceResource  : [0000000000000077]
    -IrqDeviceResource  : [0000000000000078]
    -IrqDeviceResource  : [0000000000000079]
    -IrqDeviceResource  : [000000000000007a]
    -IrqDeviceResource  : [000000000000007b]
    -IrqDeviceResource  : [000000000000007c]
    -IrqDeviceResource  : [000000000000007d]
    -IrqDeviceResource  : [000000000000007e]
    -IrqDeviceResource  : [000000000000007f]
    -IrqDeviceResource  : [0000000000000080]
    -IrqDeviceResource  : [0000000000000081]
    -IrqDeviceResource  : [0000000000000082]
    -IrqDeviceResource  : [0000000000000083]
    -IrqDeviceResource  : [0000000000000084]
    -IrqDeviceResource  : [0000000000000085]
    -IrqDeviceResource  : [0000000000000086]
    -IrqDeviceResource  : [0000000000000087]
    -IrqDeviceResource  : [0000000000000088]
    -IrqDeviceResource  : [0000000000000089]
    -IrqDeviceResource  : [000000000000008a]
    -IrqDeviceResource  : [000000000000008b]
    -IrqDeviceResource  : [000000000000008c]
    -IrqDeviceResource  : [000000000000008d]
    -IrqDeviceResource  : [000000000000008e]
    -IrqDeviceResource  : [000000000000008f]
    -IrqDeviceResource  : [0000000000000090]
    -IrqDeviceResource  : [0000000000000091]
    -IrqDeviceResource  : [0000000000000092]
    -IrqDeviceResource  : [0000000000000093]
    -IrqDeviceResource  : [0000000000000094]
    -IrqDeviceResource  : [0000000000000095]
    -IrqDeviceResource  : [0000000000000096]
    -IrqDeviceResource  : [0000000000000097]
    -IrqDeviceResource  : [0000000000000098]
    -IrqDeviceResource  : [0000000000000099]
    -IrqDeviceResource  : [000000000000009a]
    -IrqDeviceResource  : [000000000000009b]
    -IrqDeviceResource  : [000000000000009c]
    -IrqDeviceResource  : [000000000000009d]
    -IrqDeviceResource  : [000000000000009e]
    -IrqDeviceResource  : [000000000000009f]
    -IrqDeviceResource  : [00000000000000a0]
    -IrqDeviceResource  : [00000000000000a1]
    -IrqDeviceResource  : [00000000000000a2]
    -IrqDeviceResource  : [00000000000000a3]
    -IrqDeviceResource  : [00000000000000a4]
    -IrqDeviceResource  : [00000000000000a5]
    -IrqDeviceResource  : [00000000000000a6]
    -IrqDeviceResource  : [00000000000000a7]
    -IrqDeviceResource  : [00000000000000a8]
    -IrqDeviceResource  : [00000000000000a9]
    -IrqDeviceResource  : [00000000000000aa]
    -IrqDeviceResource  : [00000000000000ab]
    -IrqDeviceResource  : [00000000000000ac]
    -IrqDeviceResource  : [00000000000000ad]
    -IrqDeviceResource  : [00000000000000ae]
    -IrqDeviceResource  : [00000000000000af]
    -IrqDeviceResource  : [00000000000000b0]
    -IrqDeviceResource  : [00000000000000b1]
    -IrqDeviceResource  : [00000000000000b2]
    -IrqDeviceResource  : [00000000000000b3]
    -IrqDeviceResource  : [00000000000000b4]
    -IrqDeviceResource  : [00000000000000b5]
    -IrqDeviceResource  : [00000000000000b6]
    -IrqDeviceResource  : [00000000000000b7]
    -IrqDeviceResource  : [00000000000000b8]
    -IrqDeviceResource  : [00000000000000b9]
    -IrqDeviceResource  : [00000000000000ba]
    -IrqDeviceResource  : [00000000000000bb]
    -IrqDeviceResource  : [00000000000000bc]
    -IrqDeviceResource  : [00000000000000bd]
    -IrqDeviceResource  : [00000000000000be]
    -IrqDeviceResource  : [00000000000000bf]
    -IrqDeviceResource  : [00000000000000c0]
    -IrqDeviceResource  : [00000000000000c1]
    -IrqDeviceResource  : [00000000000000c2]
    -IrqDeviceResource  : [00000000000000c3]
    -IrqDeviceResource  : [00000000000000c4]
    -IrqDeviceResource  : [00000000000000c5]
    -IrqDeviceResource  : [00000000000000c6]
    -IrqDeviceResource  : [00000000000000c7]
    -IrqDeviceResource  : [00000000000000c8]
    -IrqDeviceResource  : [00000000000000c9]
    -IrqDeviceResource  : [00000000000000ca]
    -IrqDeviceResource  : [00000000000000cb]
    -IrqDeviceResource  : [00000000000000cc]
    -IrqDeviceResource  : [0000000000000100]
    -IrqDeviceResource  : [0000000000000101]
    -IrqDeviceResource  : [0000000000000102]
    -IrqDeviceResource  : [0000000000000103]
    -IrqDeviceResource  : [0000000000000104]
    -IrqDeviceResource  : [0000000000000105]
    -IrqDeviceResource  : [0000000000000106]
    -IrqDeviceResource  : [0000000000000107]
    -IrqDeviceResource  : [0000000000000108]
    -IrqDeviceResource  : [0000000000000109]
    -IrqDeviceResource  : [000000000000010a]
    -IrqDeviceResource  : [000000000000010b]
    -IrqDeviceResource  : [000000000000010c]
    -IrqDeviceResource  : [000000000000010d]
    -IrqDeviceResource  : [000000000000010e]
    -IrqDeviceResource  : [000000000000010f]
    -IrqDeviceResource  : [0000000000000110]
    -IrqDeviceResource  : [0000000000000111]
    -IrqDeviceResource  : [0000000000000112]
    -IrqDeviceResource  : [0000000000000113]
    -IrqDeviceResource  : [0000000000000114]
    -IrqDeviceResource  : [0000000000000115]
    -IrqDeviceResource  : [0000000000000116]
    -IrqDeviceResource  : [0000000000000117]
    -IrqDeviceResource  : [0000000000000118]
    -IrqDeviceResource  : [0000000000000119]
    -IrqDeviceResource  : [000000000000011a]
    -IrqDeviceResource  : [000000000000011b]
    -IrqDeviceResource  : [000000000000011c]
    -IrqDeviceResource  : [000000000000011d]
    -IrqDeviceResource  : [000000000000011e]
    -IrqDeviceResource  : [000000000000011f]
    -IrqDeviceResource  : [0000000000000120]
    -IrqDeviceResource  : [0000000000000121]
    -IrqDeviceResource  : [0000000000000122]
    -IrqDeviceResource  : [0000000000000123]
    -IrqDeviceResource  : [0000000000000124]
    -IrqDeviceResource  : [0000000000000125]
    -IrqDeviceResource  : [0000000000000126]
    -IrqDeviceResource  : [0000000000000127]
    -IrqDeviceResource  : [0000000000000128]
    -IrqDeviceResource  : [0000000000000129]
    -IrqDeviceResource  : [000000000000012a]
    -IrqDeviceResource  : [000000000000012b]
    -IrqDeviceResource  : [000000000000012c]
    -IrqDeviceResource  : [000000000000012d]
    -IrqDeviceResource  : [000000000000012e]
    -IrqDeviceResource  : [000000000000012f]
    -IrqDeviceResource  : [0000000000000130]
    -IrqDeviceResource  : [0000000000000131]
    -IrqDeviceResource  : [0000000000000132]
    -IrqDeviceResource  : [0000000000000133]
    -IrqDeviceResource  : [0000000000000134]
    -IrqDeviceResource  : [0000000000000135]
    -IrqDeviceResource  : [0000000000000136]
    -IrqDeviceResource  : [0000000000000137]
    -IrqDeviceResource  : [0000000000000138]
    -IrqDeviceResource  : [0000000000000139]
    -IrqDeviceResource  : [000000000000013a]
    -IrqDeviceResource  : [000000000000013b]
    -IrqDeviceResource  : [000000000000013c]
    -IrqDeviceResource  : [000000000000013d]
    -IrqDeviceResource  : [000000000000013e]
    -IrqDeviceResource  : [000000000000013f]
    -IrqDeviceResource  : [0000000000000140]
    -IrqDeviceResource  : [0000000000000141]
    -IrqDeviceResource  : [0000000000000142]
    -IrqDeviceResource  : [0000000000000143]
    -IrqDeviceResource  : [0000000000000144]
    -IrqDeviceResource  : [0000000000000145]
    -IrqDeviceResource  : [0000000000000146]
    -IrqDeviceResource  : [0000000000000147]
    -IrqDeviceResource  : [0000000000000148]
    -IrqDeviceResource  : [0000000000000149]
    -IrqDeviceResource  : [000000000000014a]
    -IrqDeviceResource  : [000000000000014b]
    -IrqDeviceResource  : [000000000000014c]
    -IrqDeviceResource  : [000000000000014d]
    -IrqDeviceResource  : [000000000000014e]
    -IrqDeviceResource  : [000000000000014f]
    -IrqDeviceResource  : [0000000000000150]
    -IrqDeviceResource  : [0000000000000151]
    -IrqDeviceResource  : [0000000000000152]
    -IrqDeviceResource  : [0000000000000153]
    -IrqDeviceResource  : [0000000000000154]
    -IrqDeviceResource  : [0000000000000155]
    -IrqDeviceResource  : [0000000000000156]
    -IrqDeviceResource  : [0000000000000157]
    -IrqDeviceResource  : [0000000000000158]
    -IrqDeviceResource  : [0000000000000159]
    -IrqDeviceResource  : [000000000000015a]
    -IrqDeviceResource  : [000000000000015b]
    -IrqDeviceResource  : [000000000000015c]
    -IrqDeviceResource  : [000000000000015d]
    -IrqDeviceResource  : [000000000000015e]
    -IrqDeviceResource  : [000000000000015f]
    -IrqDeviceResource  : [0000000000000160]
    -IrqDeviceResource  : [0000000000000161]
    -IrqDeviceResource  : [0000000000000162]
    -IrqDeviceResource  : [0000000000000163]
    -IrqDeviceResource  : [0000000000000164]
    -IrqDeviceResource  : [0000000000000165]
    -IrqDeviceResource  : [0000000000000166]
    -IrqDeviceResource  : [0000000000000167]
    -IrqDeviceResource  : [0000000000000168]
    -IrqDeviceResource  : [0000000000000169]
    -IrqDeviceResource  : [000000000000016a]
    -IrqDeviceResource  : [000000000000016b]
    -IrqDeviceResource  : [000000000000016c]
    -IrqDeviceResource  : [000000000000016d]
    -IrqDeviceResource  : [000000000000016e]
    -IrqDeviceResource  : [000000000000016f]
    -IrqDeviceResource  : [0000000000000170]
    -IrqDeviceResource  : [0000000000000171]
    -IrqDeviceResource  : [0000000000000172]
    -IrqDeviceResource  : [0000000000000173]
    -IrqDeviceResource  : [0000000000000174]
    -IrqDeviceResource  : [0000000000000175]
    -IrqDeviceResource  : [0000000000000176]
    -IrqDeviceResource  : [0000000000000177]
    -IrqDeviceResource  : [0000000000000178]
    -IrqDeviceResource  : [0000000000000179]
    -IrqDeviceResource  : [000000000000017a]
    -IrqDeviceResource  : [000000000000017b]
    -IrqDeviceResource  : [000000000000017c]
    -IrqDeviceResource  : [000000000000017d]
    -IrqDeviceResource  : [000000000000017e]
    -IrqDeviceResource  : [000000000000017f]
    -IrqDeviceResource  : [0000000000000180]
    -IrqDeviceResource  : [0000000000000181]
    -IrqDeviceResource  : [0000000000000182]
    -IrqDeviceResource  : [0000000000000183]
    -IrqDeviceResource  : [0000000000000184]
    -IrqDeviceResource  : [0000000000000185]
    -IrqDeviceResource  : [0000000000000186]
    -IrqDeviceResource  : [0000000000000187]
    -IrqDeviceResource  : [0000000000000188]
    -IrqDeviceResource  : [0000000000000189]
    -IrqDeviceResource  : [000000000000018a]
    -IrqDeviceResource  : [000000000000018b]
    -IrqDeviceResource  : [000000000000018c]
    -IrqDeviceResource  : [000000000000018d]
    -IrqDeviceResource  : [000000000000018e]
    -IrqDeviceResource  : [000000000000018f]
    -IrqDeviceResource  : [0000000000000190]
    -IrqDeviceResource  : [0000000000000191]
    -IrqDeviceResource  : [0000000000000192]
    -IrqDeviceResource  : [0000000000000193]
    -IrqDeviceResource  : [0000000000000194]
    -IrqDeviceResource  : [0000000000000195]
    -IrqDeviceResource  : [0000000000000196]
    -IrqDeviceResource  : [0000000000000197]
    -IrqDeviceResource  : [0000000000000198]
    -IrqDeviceResource  : [0000000000000199]
    -IrqDeviceResource  : [000000000000019a]
    -IrqDeviceResource  : [000000000000019b]
    -IrqDeviceResource  : [000000000000019c]
    -IrqDeviceResource  : [000000000000019d]
    -IrqDeviceResource  : [000000000000019e]
    -IrqDeviceResource  : [000000000000019f]
    -IrqDeviceResource  : [00000000000001a0]
    -IrqDeviceResource  : [00000000000001a1]
    -IrqDeviceResource  : [00000000000001a2]
    -IrqDeviceResource  : [00000000000001a3]
    -IrqDeviceResource  : [00000000000001a4]
    -IrqDeviceResource  : [00000000000001a5]
    -IrqDeviceResource  : [00000000000001a6]
    -IrqDeviceResource  : [00000000000001a7]
    -IrqDeviceResource  : [00000000000001a8]
    -IrqDeviceResource  : [00000000000001a9]
    -IrqDeviceResource  : [00000000000001aa]
    -IrqDeviceResource  : [00000000000001ab]
    -IrqDeviceResource  : [00000000000001ac]
    -IrqDeviceResource  : [00000000000001ad]
    -IrqDeviceResource  : [00000000000001ae]
    -IrqDeviceResource  : [00000000000001af]
    -IrqDeviceResource  : [00000000000001b0]
    -IrqDeviceResource  : [00000000000001b1]
    -IrqDeviceResource  : [00000000000001b2]
    -IrqDeviceResource  : [00000000000001b3]
    -IrqDeviceResource  : [00000000000001b4]
    -IrqDeviceResource  : [00000000000001b5]
    -IrqDeviceResource  : [00000000000001b6]
    -IrqDeviceResource  : [00000000000001b7]
    -IrqDeviceResource  : [00000000000001b8]
    -IrqDeviceResource  : [00000000000001b9]
    -IrqDeviceResource  : [00000000000001ba]
    -IrqDeviceResource  : [00000000000001bb]
    -IrqDeviceResource  : [00000000000001bc]
    -IrqDeviceResource  : [00000000000001bd]
    -IrqDeviceResource  : [00000000000001be]
    -IrqDeviceResource  : [00000000000001bf]
    -IrqDeviceResource  : [00000000000001c0]
    -IrqDeviceResource  : [00000000000001c1]
    -IrqDeviceResource  : [00000000000001c2]
    -IrqDeviceResource  : [00000000000001c3]
    -IrqDeviceResource  : [00000000000001c4]
    -IrqDeviceResource  : [00000000000001c5]
    -IrqDeviceResource  : [00000000000001c6]
    -IrqDeviceResource  : [00000000000001c7]
    -IrqDeviceResource  : [00000000000001c8]
    -IrqDeviceResource  : [00000000000001c9]
    -IrqDeviceResource  : [00000000000001ca]
    -IrqDeviceResource  : [00000000000001cb]
    -IrqDeviceResource  : [00000000000001cc]
    -IrqDeviceResource  : [00000000000001cd]
    -IrqDeviceResource  : [00000000000001ce]
    -IrqDeviceResource  : [00000000000001cf]
    -IrqDeviceResource  : [00000000000001d0]
    -IrqDeviceResource  : [00000000000001d1]
    -IrqDeviceResource  : [00000000000001d2]
    -IrqDeviceResource  : [00000000000001d3]
    -IrqDeviceResource  : [00000000000001d4]
    -IrqDeviceResource  : [00000000000001d5]
    -IrqDeviceResource  : [00000000000001d6]
    -IrqDeviceResource  : [00000000000001d7]
    -IrqDeviceResource  : [00000000000001d8]
    -IrqDeviceResource  : [00000000000001d9]
    -IrqDeviceResource  : [00000000000001da]
    -IrqDeviceResource  : [00000000000001db]
    -IrqDeviceResource  : [00000000000001dc]
    -IrqDeviceResource  : [00000000000001dd]
    -IrqDeviceResource  : [00000000000001de]
    -IrqDeviceResource  : [00000000000001df]
    -IrqDeviceResource  : [00000000000001e0]
    -IrqDeviceResource  : [00000000000001e1]
    -IrqDeviceResource  : [00000000000001e2]
    -IrqDeviceResource  : [00000000000001e3]
    -IrqDeviceResource  : [00000000000001e4]
    -IrqDeviceResource  : [00000000000001e5]
    -IrqDeviceResource  : [00000000000001e6]
    -IrqDeviceResource  : [00000000000001e7]
    -IrqDeviceResource  : [00000000000001e8]
    -IrqDeviceResource  : [00000000000001e9]
    -IrqDeviceResource  : [00000000000001ea]
    -IrqDeviceResource  : [00000000000001eb]
    -IrqDeviceResource  : [00000000000001ec]
    -IrqDeviceResource  : [00000000000001ed]
    -IrqDeviceResource  : [00000000000001ee]
    -IrqDeviceResource  : [00000000000001ef]
    -IrqDeviceResource  : [00000000000001f0]
    -IrqDeviceResource  : [00000000000001f1]
    -IrqDeviceResource  : [00000000000001f2]
    -IrqDeviceResource  : [00000000000001f3]
    -IrqDeviceResource  : [00000000000001f4]
    -IrqDeviceResource  : [00000000000001f5]
    -IrqDeviceResource  : [00000000000001f6]
    -IrqDeviceResource  : [00000000000001f7]
    -IrqDeviceResource  : [00000000000001f8]
    -IrqDeviceResource  : [00000000000001f9]
    -IrqDeviceResource  : [00000000000001fa]
    -IrqDeviceResource  : [00000000000001fb]
    -IrqDeviceResource  : [00000000000001fc]
    -IrqDeviceResource  : [00000000000001fd]
    -IrqDeviceResource  : [00000000000001fe]
    -IrqDeviceResource  : [00000000000001ff]
  -Device : Microsoft Basic Render Driver (\Device\0000000a)
  -Device : VMware VMCI Bus Device (\Device\NTPNP_PCI0005)
    -MmioDeviceResource : [00000000ffbfe000-00000000ffbfffff]
    -IoDeviceResource   : [000000000000fec0-000000000000feff]
    -IrqDeviceResource  : [00000000ffffffde]
    -IrqDeviceResource  : [00000000ffffffdd]
  -Device : ACPI Fixed Feature Button (\Device\0000001d)
  -Device : PCI to ISA Bridge (\Device\NTPNP_PCI0002)
  -Device : Motherboard resources (\Device\00000061)
    -IoDeviceResource   : [0000000000000010-000000000000001f]
    -IoDeviceResource   : [0000000000000024-0000000000000025]
    -IoDeviceResource   : [0000000000000028-0000000000000029]
    -IoDeviceResource   : [000000000000002c-000000000000002d]
    -IoDeviceResource   : [000000000000002e-000000000000002f]
    -IoDeviceResource   : [0000000000000030-0000000000000031]
    -IoDeviceResource   : [0000000000000034-0000000000000035]
    -IoDeviceResource   : [0000000000000038-0000000000000039]
    -IoDeviceResource   : [000000000000003c-000000000000003d]
    -IoDeviceResource   : [0000000000000050-0000000000000053]
    -IoDeviceResource   : [0000000000000072-0000000000000077]
    -IoDeviceResource   : [0000000000000080-0000000000000080]
    -IoDeviceResource   : [0000000000000090-000000000000009f]
    -IoDeviceResource   : [00000000000000a4-00000000000000a5]
    -IoDeviceResource   : [00000000000000a8-00000000000000a9]
    -IoDeviceResource   : [00000000000000ac-00000000000000ad]
    -IoDeviceResource   : [00000000000000b0-00000000000000b5]
    -IoDeviceResource   : [00000000000000b8-00000000000000b9]
    -IoDeviceResource   : [00000000000000bc-00000000000000bd]
    -IoDeviceResource   : [0000000000000440-000000000000047f]
    -IoDeviceResource   : [0000000000000000-000000000000000f]
    -IoDeviceResource   : [0000000000005658-0000000000005659]
    -IoDeviceResource   : [0000000000005670-0000000000005670]
    -IoDeviceResource   : [0000000000000cf0-0000000000000cf1]
  -Device : VMware VMCI Host Device (\Device\0000000b)
  -Device : System speaker (\Device\00000066)
    -IoDeviceResource   : [0000000000000061-0000000000000061]
  -Device : EISA programmable interrupt controller (\Device\00000063)
    -IoDeviceResource   : [0000000000000020-0000000000000021]
    -IoDeviceResource   : [00000000000000a0-00000000000000a1]
    -IoDeviceResource   : [00000000000004d0-00000000000004d1]
  -Device : NDIS Virtual Network Adapter Enumerator (\Device\0000000c)
  -Device : CPU to PCI Bridge (\Device\NTPNP_PCI0000)
  -Device : System timer (\Device\00000064)
    -IoDeviceResource   : [0000000000000040-0000000000000043]
    -IrqDeviceResource  : [0000000000000000]
  -Device : Microsoft System Management BIOS Driver (\Device\0000000d)
  -Device : PCI-to-PCI Bridge (\Device\NTPNP_PCI0007)
    -MmioDeviceResource : [00000000fc000000-00000000fc9fffff]
    -MmioDeviceResource : [00000000f8000000-00000000f84fffff]
    -IoDeviceResource   : [0000000000001000-0000000000001fff]
  -Device : Plug and Play Software Device Enumerator (\Device\0000000e)
  -Device : Remote Desktop Device Redirector Bus (\Device\0000000f)
  -Device : Generic Bus (\Device\0000006a)
-Class Unknown                                                         [4D36E97E-E325-11CE-BFC1-08002BE10318]
-Class FloppyDisk                                                      [4D36E980-E325-11CE-BFC1-08002BE10318]
-Class HidLineDisplay                                                  [4FC9541C-0FE6-4480-A4F6-9495A0D17CD2]
-Class Processor                                                       [50127DC3-0F36-415E-A6CC-4CB3BE910B65]
  -Device : Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz (\Device\00000013)
  -Device : Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz (\Device\0000001c)
-Class MultiPortSerial                                                 [50906CB8-BA12-11D1-BF5D-0000F805F530]
-Class Memory                                                          [5099944A-F6B9-4057-A056-8C550228544C]
-Class SmartCardReader                                                 [50DD5230-BA8A-11D1-BF5D-0000F805F530]
-Class Sensor                                                          [5175D334-C371-4806-B3BA-71FD53C9258D]
-Class VolumeSnapshot                                                  [533C5B84-EC70-11D2-9505-00C04F79DEAF]
-Class SmrDisk                                                         [53487C23-680F-4585-ACC3-1F10D6777E82]
-Class ScmDisk                                                         [53966CB1-4D46-4166-BF23-C522403CD495]
-Class SmrVolume                                                       [53B3CF03-8F5A-4788-91B6-D19ED9FCCCBF]
-Class ScmVolume                                                       [53CCB149-E543-4C84-B6E0-BCE4F6B7E806]
-Class Biometric                                                       [53D29EF7-377C-4D14-864B-EB3A85769359]
-Class Proximity                                                       [5630831C-06C9-4856-B327-F5D32586E060]
-Class AudioProcessingObject                                           [5989FCE8-9CD0-467D-8A6A-5419E31529D4]
-Class OposLegacyDevice                                                [5AEA001D-9372-4ED7-97F3-B79BF15A53C5]
-Class SoftwareComponent                                               [5C4C3332-344D-483C-8739-259E934C9CC8]
-Class FSFilterSystem                                                  [5D1B9AAA-01E2-46AF-849F-272B3F324C46]
-Class SoftwareDevice                                                  [62F9C741-B25A-46CE-B54C-9BCCCE08B6F2]
  -Device : Bluetooth (\Device\0000007f)
  -Device : Microsoft RRAS Root Enumerator (\Device\00000084)
  -Device : Microsoft Radio Device Enumeration Bus (\Device\0000007e)
  -Device : Microsoft Device Association Root Enumerator
  -Device : Microsoft GS Wavetable Synth (\Device\00000082)
  -Device : Bluetooth
-Class PerceptionSimulation                                            [645AD99B-1344-4316-837A-08A3E73DB222]
-Class PhysicalQuotaManagement                                         [6A0A8E78-BBA6-4FC4-A709-1E33CD09D67E]
-Class 1394                                                            [6BDD1FC1-810F-11D0-BEC7-08002BE2092F]
-Class Infrared                                                        [6BDD1FC5-810F-11D0-BEC7-08002BE2092F]
-Class Image                                                           [6BDD1FC6-810F-11D0-BEC7-08002BE2092F]
-Class TapeDrive                                                       [6D807884-7D21-11CF-801C-08002BE10318]
-Class BasicDisplay                                                    [6FAE73B7-B735-4B50-A0DA-0DC2484B1F1A]
-Class Volume                                                          [71A27CDD-812A-11D0-BEC7-08002BE2092F]
  -Device : Volume
  -Device : Volume
  -Device : Volume (\Device\HarddiskVolume2)
  -Device : Volume (\Device\HarddiskVolume3)
  -Device : Volume
  -Device : Volume
  -Device : Volume
  -Device : Volume (\Device\HarddiskVolume4)
  -Device : Volume
  -Device : Volume (\Device\HarddiskVolume1)
-Class ContinuousBackup                                                [71AA14F8-6FAD-4622-AD77-92BB9D7E6947]
-Class Battery                                                         [72631E54-78A4-11D0-BCF7-00AA00B7B32A]
  -Device : Microsoft AC Adapter (\Device\00000012)
-Class HIDClass                                                        [745A17A0-74D3-11D0-B6FE-00A0C90F57DA]
  -Device : USB Input Device (\Device\00000076)
  -Device : USB Input Device (\Device\00000077)
-Class HidCashDrawer                                                   [772E18F2-8925-4229-A5AC-6453CB482FDA]
-Class QuotaManagement                                                 [8503C911-A6C7-4919-8F79-5028F5866B0C]
-Class NetDriver                                                       [87EF9AD1-8F70-49EE-B215-AB1FCADCBE3C]
-Class CopyProtection                                                  [89786FF1-9C12-402F-9C9E-17753C7F4375]
-Class LegacyDriver                                                    [8ECC055D-047F-11D1-A537-0000F8753ED1]
-Class SmartCard                                                       [990A2BD7-E738-46C7-B26F-1CF8FB9F1391]
-Class EhStorSilo                                                      [9DA2B80F-F89F-4A49-A5C2-511B085B9E8A]
-Class SDHost                                                          [A0A588A4-C46F-4B37-B7EA-C82FE89870C6]
-Class Encryption                                                      [A0A701C0-A511-42FF-AA6C-06DC0395576F]
-Class rdpbus                                                          [A3E32DBA-BA89-4F17-8386-2D0127FBD4CC]
-Class AntiVirus                                                       [B1D1A169-C54F-4379-81DB-BEE7D88D7454]
-Class USBFunctionController                                           [BBBE8734-08FA-4966-B6A6-4E5AD010CDD7]
-Class AVC                                                             [C06FF265-AE09-48F0-812C-16753D7CBA83]
-Class AudioEndpoint                                                   [C166523C-FE0C-4A94-A586-F1A80CFBBF3E]
  -Device : Speakers (High Definition Audio Device) (\Device\00000081)
-Class BarcodeScanner                                                  [C243FFBD-3AFC-45E9-B3D3-2BA18BC7EBC5]
-Class WSDPrintDevice                                                  [C30ECEA0-11EF-4EF9-B02E-6AF81E6E65C0]
-Class POSPrinter                                                      [C7BC9B22-21F0-4F0D-9BB6-66C229B8CD33]
-Class CFSMetadataServer                                               [CDCF0939-B75B-4630-BF76-80F7BA655884]
-Class MediumChanger                                                   [CE5939AE-EBDE-11D0-B181-0000F8753EC4]
-Class SecurityEnhancer                                                [D02BC3DA-0C8E-4945-9BD5-F1883C226C8C]
-Class Miracast                                                        [D421B08E-6D16-41CA-9C4D-9147E5AC98E0]
-Class SBP2                                                            [D48179BE-EC20-11D1-B6B8-00C04FA372A7]
-Class HSM                                                             [D546500A-2AEB-45F6-9482-F4B1799C3177]
-Class Holographic                                                     [D612553D-06B1-49CA-8938-E39EF80EB16F]
-Class XnaComposite                                                    [D61CA365-5AF4-4486-998B-9DB4734C6CA3]
-Class SecurityDevices                                                 [D94EE5D8-D189-4994-83D2-F68D7D41B0E6]
-Class SmartCardFilter                                                 [DB4F6DDD-9C0E-45E4-9597-78DBBAD0F412]
-Class Bluetooth                                                       [E0CBF06C-CD8B-4647-BB8A-263B43F0F974]
  -Device : Generic Bluetooth Adapter (\Device\USBPDO-4)
  -Device : Microsoft Bluetooth Enumerator (\Device\0000007b)
  -Device : Bluetooth Device (RFCOMM Protocol TDI) (\Device\0000007a)
-Class Extension                                                       [E2F84CE7-8EFA-411C-AA69-97454CA4CB57]
-Class Infrastructure                                                  [E55FA6F9-128C-4D04-ABAB-630C74B1453A]
-Class UCM                                                             [E6F1AA1C-7F3B-4473-B2E8-C97D8AC71D53]
-Class WPD                                                             [EEC5AD98-8080-425F-922A-DABF3DE3F69A]
  -Device : E:\
  -Device : E:\
  -Device : E:\
  -Device : E:\
  -Device : EXCHANGE
  -Device : E:\
-Class Firmware                                                        [F2E7DD72-6468-4E36-B6F1-6488F42C1B52]
-Class Compression                                                     [F3586BAF-B5AA-49B5-8D6C-0569284C639F]
-Class Virtualization                                                  [F75A86C0-10D8-4C3A-B233-ED60E4CDFAAC]
-Class OpenFileBackup                                                  [F8ECAFA6-66D1-41A5-899B-66585D7216B7]
-Class Undelete                                                        [FE8F1572-C67A-48C0-BBAC-0B5C6D66CAFB]
hakril commented 4 years ago

Hi ! Thanks for the PR, I definitvely want to integrate your work to PythonForWindows. I will take some time on my side to try to understand the underlying APIs and their capabilities. Il will also see how to propely integrate your work to the ctypes_generation and winproxy.

hakril commented 4 years ago

I made some adaptations for the PythonForWindows codebase and created some samples/documentation. I hope the resulting code/APIs/samples still suits you. For the PR itself, your commits have been rebased on master after some works on my side. (For documentation purpose the first/last commits related to this PR on master are e74089cd / 176066d9)

As far as I can tell, it means:

But, as you can see, this PR is not marked as merged. It may because of my erratic git workflow :D I am not aware of a way to mark in as resolved in the UI.. I may be forced to simply close it.

Anyway thank you a lot for your contribution !