typedef struct _IO_RESOURCE_DESCRIPTOR              // 7 elements, 0x20 bytes (sizeof)
          {
/*0x000*/     UINT8        Option;
/*0x001*/     UINT8        Type;
/*0x002*/     UINT8        ShareDisposition;
/*0x003*/     UINT8        Spare1;
/*0x004*/     UINT16       Flags;
/*0x006*/     UINT16       Spare2;
              union                                           // 11 elements, 0x18 bytes (sizeof)
              {
                  struct                                      // 4 elements, 0x18 bytes (sizeof)
                  {
/*0x008*/             ULONG32      Length;
/*0x00C*/             ULONG32      Alignment;
/*0x010*/             union _LARGE_INTEGER MinimumAddress;    // 4 elements, 0x8 bytes (sizeof)
/*0x018*/             union _LARGE_INTEGER MaximumAddress;    // 4 elements, 0x8 bytes (sizeof)
                  }Port;
                  struct                                      // 4 elements, 0x18 bytes (sizeof)
                  {
/*0x008*/             ULONG32      Length;
/*0x00C*/             ULONG32      Alignment;
/*0x010*/             union _LARGE_INTEGER MinimumAddress;    // 4 elements, 0x8 bytes (sizeof)
/*0x018*/             union _LARGE_INTEGER MaximumAddress;    // 4 elements, 0x8 bytes (sizeof)
                  }Memory;
                  struct                                      // 5 elements, 0x18 bytes (sizeof)
                  {
/*0x008*/             ULONG32      MinimumVector;
/*0x00C*/             ULONG32      MaximumVector;
/*0x010*/             enum _IRQ_DEVICE_POLICY AffinityPolicy;
/*0x014*/             enum _IRQ_PRIORITY PriorityPolicy;
/*0x018*/             UINT64       TargetedProcessors;
                  }Interrupt;
                  struct                                      // 2 elements, 0x8 bytes (sizeof)
                  {
/*0x008*/             ULONG32      MinimumChannel;
/*0x00C*/             ULONG32      MaximumChannel;
                  }Dma;
                  struct                                      // 4 elements, 0x18 bytes (sizeof)
                  {
/*0x008*/             ULONG32      Length;
/*0x00C*/             ULONG32      Alignment;
/*0x010*/             union _LARGE_INTEGER MinimumAddress;    // 4 elements, 0x8 bytes (sizeof)
/*0x018*/             union _LARGE_INTEGER MaximumAddress;    // 4 elements, 0x8 bytes (sizeof)
                  }Generic;
                  struct                                      // 1 elements, 0xC bytes (sizeof)
                  {
/*0x008*/             ULONG32      Data[3];
                  }DevicePrivate;
                  struct                                      // 4 elements, 0x10 bytes (sizeof)
                  {
/*0x008*/             ULONG32      Length;
/*0x00C*/             ULONG32      MinBusNumber;
/*0x010*/             ULONG32      MaxBusNumber;
/*0x014*/             ULONG32      Reserved;
                  }BusNumber;
                  struct                                      // 3 elements, 0xC bytes (sizeof)
                  {
/*0x008*/             ULONG32      Priority;
/*0x00C*/             ULONG32      Reserved1;
/*0x010*/             ULONG32      Reserved2;
                  }ConfigData;
                  struct                                      // 4 elements, 0x18 bytes (sizeof)
                  {
/*0x008*/             ULONG32      Length40;
/*0x00C*/             ULONG32      Alignment40;
/*0x010*/             union _LARGE_INTEGER MinimumAddress;    // 4 elements, 0x8 bytes (sizeof)
/*0x018*/             union _LARGE_INTEGER MaximumAddress;    // 4 elements, 0x8 bytes (sizeof)
                  }Memory40;
                  struct                                      // 4 elements, 0x18 bytes (sizeof)
                  {
/*0x008*/             ULONG32      Length48;
/*0x00C*/             ULONG32      Alignment48;
/*0x010*/             union _LARGE_INTEGER MinimumAddress;    // 4 elements, 0x8 bytes (sizeof)
/*0x018*/             union _LARGE_INTEGER MaximumAddress;    // 4 elements, 0x8 bytes (sizeof)
                  }Memory48;
                  struct                                      // 4 elements, 0x18 bytes (sizeof)
                  {
/*0x008*/             ULONG32      Length64;
/*0x00C*/             ULONG32      Alignment64;
/*0x010*/             union _LARGE_INTEGER MinimumAddress;    // 4 elements, 0x8 bytes (sizeof)
/*0x018*/             union _LARGE_INTEGER MaximumAddress;    // 4 elements, 0x8 bytes (sizeof)
                  }Memory64;
              }u;
          }IO_RESOURCE_DESCRIPTOR, *PIO_RESOURCE_DESCRIPTOR;
Return to structures/enums list.
Return to O.S. version list.

(c) MoonSols 2010.