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                                   // 6 elements, 0x14 bytes (sizeof)
                  {
/*0x008*/             ULONG32      MinimumVector;
/*0x00C*/             ULONG32      MaximumVector;
/*0x010*/             UINT16       AffinityPolicy;
/*0x012*/             UINT16       Group;
/*0x014*/             enum _IRQ_PRIORITY PriorityPolicy;
/*0x018*/             ULONG32      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.