typedef struct _PI_BUS_EXTENSION
{
    unsigned long Flags;
    unsigned char NumberCSNs;
    unsigned char *ReadDataPort;
    unsigned char DataPortMapped;
    unsigned char *AddressPort;
    unsigned char AddrPortMapped;
    unsigned char *CommandPort;
    unsigned char CmdPortMapped;
    unsigned long NextSlotNumber;
    SINGLE_LIST_ENTRY DeviceList;
    SINGLE_LIST_ENTRY CardList;
    DEVICE_OBJECT *PhysicalBusDevice;
    DEVICE_OBJECT *FunctionalBusDevice;
    DEVICE_OBJECT *AttachedDevice;
    unsigned long BusNumber;
    SYSTEM_POWER_STATE SystemPowerState;
    DEVICE_POWER_STATE DevicePowerState;
} PI_BUS_EXTENSION, *PPI_BUS_EXTENSION;