#ifndef _SOFTPCIUI_ #define _SOFTPCIUI_ #define SOFTPCI_BUS_DESC L" - SoftPCI Installed" #define SOFTPCI_DEVICE_DESC L"Microsoft SoftPCI Device" #define SOFTPCI_PPBRIDGE_DESC L"Microsoft SoftPCI-PCI Bridge" #define SOFTPCI_HOTPLUG_DESC L"Microsoft SoftPCI-HotPlug PCI Bridge" typedef struct _PCI_DN *PPCI_DN; typedef struct _PCI_TREE { PPCI_DN RootDevNode; HTREEITEM RootTreeItem; HDEVINFO DevInfoSet; SP_CLASSIMAGELIST_DATA ClassImageListData ; } PCI_TREE, *PPCI_TREE; // // PCI Devnode Info // // // Flags bit definitions // #define SOFTPCI_HOTPLUG_SLOT 0x1 #define SOFTPCI_UNENUMERATED_DEVICE 0x2 #define SOFTPCI_HOTPLUG_CONTROLLER 0x4 typedef struct _PCI_DN { PPCI_TREE PciTree; PPCI_DN Parent; PPCI_DN Child; PPCI_DN Sibling; LIST_ENTRY ListEntry; DEVNODE DevNode; ULONG Bus; SOFTPCI_SLOT Slot; PSOFTPCI_DEVICE SoftDev; ULONG Flags; WCHAR DevId[MAX_PATH]; WCHAR FriendlyName[MAX_PATH]; WCHAR WmiId[MAX_PATH]; SP_DEVINFO_DATA DevInfoData; } PCI_DN, *PPCI_DN ; typedef struct _SLOT_PATH_ENTRY{ LIST_ENTRY ListEntry; SOFTPCI_SLOT Slot; } SLOT_PATH_ENTRY, *PSLOT_PATH_ENTRY; #endif