typedef struct _IO_STACK_LOCATION                                             // 9 elements, 0x48 bytes (sizeof)
          {
/*0x000*/     UINT8        MajorFunction;
/*0x001*/     UINT8        MinorFunction;
/*0x002*/     UINT8        Flags;
/*0x003*/     UINT8        Control;
/*0x004*/     UINT8        _PADDING0_[0x4];
              union                                                                     // 38 elements, 0x20 bytes (sizeof)
              {
                  struct                                                                // 5 elements, 0x20 bytes (sizeof)
                  {
/*0x008*/             struct _IO_SECURITY_CONTEXT* SecurityContext;
/*0x010*/             ULONG32      Options;
/*0x014*/             UINT8        _PADDING1_[0x4];
/*0x018*/             UINT16       FileAttributes;
/*0x01A*/             UINT16       ShareAccess;
/*0x01C*/             UINT8        _PADDING2_[0x4];
/*0x020*/             ULONG32      EaLength;
/*0x024*/             UINT8        _PADDING3_[0x4];
                  }Create;
                  struct                                                                // 5 elements, 0x20 bytes (sizeof)
                  {
/*0x008*/             struct _IO_SECURITY_CONTEXT* SecurityContext;
/*0x010*/             ULONG32      Options;
/*0x014*/             UINT8        _PADDING1_[0x4];
/*0x018*/             UINT16       Reserved;
/*0x01A*/             UINT16       ShareAccess;
/*0x01C*/             UINT8        _PADDING2_[0x4];
/*0x020*/             struct _NAMED_PIPE_CREATE_PARAMETERS* Parameters;
                  }CreatePipe;
                  struct                                                                // 5 elements, 0x20 bytes (sizeof)
                  {
/*0x008*/             struct _IO_SECURITY_CONTEXT* SecurityContext;
/*0x010*/             ULONG32      Options;
/*0x014*/             UINT8        _PADDING1_[0x4];
/*0x018*/             UINT16       Reserved;
/*0x01A*/             UINT16       ShareAccess;
/*0x01C*/             UINT8        _PADDING2_[0x4];
/*0x020*/             struct _MAILSLOT_CREATE_PARAMETERS* Parameters;
                  }CreateMailslot;
                  struct                                                                // 3 elements, 0x18 bytes (sizeof)
                  {
/*0x008*/             ULONG32      Length;
/*0x00C*/             UINT8        _PADDING1_[0x4];
/*0x010*/             ULONG32      Key;
/*0x014*/             UINT8        _PADDING2_[0x4];
/*0x018*/             union _LARGE_INTEGER ByteOffset;                                  // 4 elements, 0x8 bytes (sizeof)
                  }Read;
                  struct                                                                // 3 elements, 0x18 bytes (sizeof)
                  {
/*0x008*/             ULONG32      Length;
/*0x00C*/             UINT8        _PADDING1_[0x4];
/*0x010*/             ULONG32      Key;
/*0x014*/             UINT8        _PADDING2_[0x4];
/*0x018*/             union _LARGE_INTEGER ByteOffset;                                  // 4 elements, 0x8 bytes (sizeof)
                  }Write;
                  struct                                                                // 4 elements, 0x20 bytes (sizeof)
                  {
/*0x008*/             ULONG32      Length;
/*0x00C*/             UINT8        _PADDING1_[0x4];
/*0x010*/             struct _UNICODE_STRING* FileName;
/*0x018*/             enum _FILE_INFORMATION_CLASS FileInformationClass;
/*0x01C*/             UINT8        _PADDING2_[0x4];
/*0x020*/             ULONG32      FileIndex;
/*0x024*/             UINT8        _PADDING3_[0x4];
                  }QueryDirectory;
                  struct                                                                // 2 elements, 0x10 bytes (sizeof)
                  {
/*0x008*/             ULONG32      Length;
/*0x00C*/             UINT8        _PADDING1_[0x4];
/*0x010*/             ULONG32      CompletionFilter;
/*0x014*/             UINT8        _PADDING2_[0x4];
                  }NotifyDirectory;
                  struct                                                                // 2 elements, 0x10 bytes (sizeof)
                  {
/*0x008*/             ULONG32      Length;
/*0x00C*/             UINT8        _PADDING1_[0x4];
/*0x010*/             enum _FILE_INFORMATION_CLASS FileInformationClass;
/*0x014*/             UINT8        _PADDING2_[0x4];
                  }QueryFile;
                  struct                                                                // 7 elements, 0x20 bytes (sizeof)
                  {
/*0x008*/             ULONG32      Length;
/*0x00C*/             UINT8        _PADDING1_[0x4];
/*0x010*/             enum _FILE_INFORMATION_CLASS FileInformationClass;
/*0x014*/             UINT8        _PADDING2_[0x4];
/*0x018*/             struct _FILE_OBJECT* FileObject;
                      union                                                             // 3 elements, 0x8 bytes (sizeof)
                      {
                          struct                                                        // 2 elements, 0x8 bytes (sizeof)
                          {
/*0x020*/                     UINT8        ReplaceIfExists;
/*0x021*/                     UINT8        AdvanceOnly;
/*0x022*/                     UINT8        _PADDING3_[0x6];
                          };
/*0x020*/                 ULONG32      ClusterCount;
/*0x020*/                 VOID*        DeleteHandle;
                      };
                  }SetFile;
                  struct                                                                // 4 elements, 0x20 bytes (sizeof)
                  {
/*0x008*/             ULONG32      Length;
/*0x00C*/             UINT8        _PADDING1_[0x4];
/*0x010*/             VOID*        EaList;
/*0x018*/             ULONG32      EaListLength;
/*0x01C*/             UINT8        _PADDING2_[0x4];
/*0x020*/             ULONG32      EaIndex;
/*0x024*/             UINT8        _PADDING3_[0x4];
                  }QueryEa;
                  struct                                                                // 1 elements, 0x4 bytes (sizeof)
                  {
/*0x008*/             ULONG32      Length;
                  }SetEa;
                  struct                                                                // 2 elements, 0x10 bytes (sizeof)
                  {
/*0x008*/             ULONG32      Length;
/*0x00C*/             UINT8        _PADDING1_[0x4];
/*0x010*/             enum _FSINFOCLASS FsInformationClass;
/*0x014*/             UINT8        _PADDING2_[0x4];
                  }QueryVolume;
                  struct                                                                // 2 elements, 0x10 bytes (sizeof)
                  {
/*0x008*/             ULONG32      Length;
/*0x00C*/             UINT8        _PADDING1_[0x4];
/*0x010*/             enum _FSINFOCLASS FsInformationClass;
/*0x014*/             UINT8        _PADDING2_[0x4];
                  }SetVolume;
                  struct                                                                // 4 elements, 0x20 bytes (sizeof)
                  {
/*0x008*/             ULONG32      OutputBufferLength;
/*0x00C*/             UINT8        _PADDING1_[0x4];
/*0x010*/             ULONG32      InputBufferLength;
/*0x014*/             UINT8        _PADDING2_[0x4];
/*0x018*/             ULONG32      FsControlCode;
/*0x01C*/             UINT8        _PADDING3_[0x4];
/*0x020*/             VOID*        Type3InputBuffer;
                  }FileSystemControl;
                  struct                                                                // 3 elements, 0x18 bytes (sizeof)
                  {
/*0x008*/             union _LARGE_INTEGER* Length;
/*0x010*/             ULONG32      Key;
/*0x014*/             UINT8        _PADDING1_[0x4];
/*0x018*/             union _LARGE_INTEGER ByteOffset;                                  // 4 elements, 0x8 bytes (sizeof)
                  }LockControl;
                  struct                                                                // 4 elements, 0x20 bytes (sizeof)
                  {
/*0x008*/             ULONG32      OutputBufferLength;
/*0x00C*/             UINT8        _PADDING1_[0x4];
/*0x010*/             ULONG32      InputBufferLength;
/*0x014*/             UINT8        _PADDING2_[0x4];
/*0x018*/             ULONG32      IoControlCode;
/*0x01C*/             UINT8        _PADDING3_[0x4];
/*0x020*/             VOID*        Type3InputBuffer;
                  }DeviceIoControl;
                  struct                                                                // 2 elements, 0x10 bytes (sizeof)
                  {
/*0x008*/             ULONG32      SecurityInformation;
/*0x00C*/             UINT8        _PADDING1_[0x4];
/*0x010*/             ULONG32      Length;
/*0x014*/             UINT8        _PADDING2_[0x4];
                  }QuerySecurity;
                  struct                                                                // 2 elements, 0x10 bytes (sizeof)
                  {
/*0x008*/             ULONG32      SecurityInformation;
/*0x00C*/             UINT8        _PADDING1_[0x4];
/*0x010*/             VOID*        SecurityDescriptor;
                  }SetSecurity;
                  struct                                                                // 2 elements, 0x10 bytes (sizeof)
                  {
/*0x008*/             struct _VPB* Vpb;
/*0x010*/             struct _DEVICE_OBJECT* DeviceObject;
                  }MountVolume;
                  struct                                                                // 2 elements, 0x10 bytes (sizeof)
                  {
/*0x008*/             struct _VPB* Vpb;
/*0x010*/             struct _DEVICE_OBJECT* DeviceObject;
                  }VerifyVolume;
                  struct                                                                // 1 elements, 0x8 bytes (sizeof)
                  {
/*0x008*/             struct _SCSI_REQUEST_BLOCK* Srb;
                  }Scsi;
                  struct                                                                // 4 elements, 0x20 bytes (sizeof)
                  {
/*0x008*/             ULONG32      Length;
/*0x00C*/             UINT8        _PADDING1_[0x4];
/*0x010*/             VOID*        StartSid;
/*0x018*/             struct _FILE_GET_QUOTA_INFORMATION* SidList;
/*0x020*/             ULONG32      SidListLength;
/*0x024*/             UINT8        _PADDING2_[0x4];
                  }QueryQuota;
                  struct                                                                // 1 elements, 0x4 bytes (sizeof)
                  {
/*0x008*/             ULONG32      Length;
                  }SetQuota;
                  struct                                                                // 1 elements, 0x4 bytes (sizeof)
                  {
/*0x008*/             enum _DEVICE_RELATION_TYPE Type;
                  }QueryDeviceRelations;
                  struct                                                                // 5 elements, 0x20 bytes (sizeof)
                  {
/*0x008*/             struct _GUID* InterfaceType;
/*0x010*/             UINT16       Size;
/*0x012*/             UINT16       Version;
/*0x014*/             UINT8        _PADDING1_[0x4];
/*0x018*/             struct _INTERFACE* Interface;
/*0x020*/             VOID*        InterfaceSpecificData;
                  }QueryInterface;
                  struct                                                                // 1 elements, 0x8 bytes (sizeof)
                  {
/*0x008*/             struct _DEVICE_CAPABILITIES* Capabilities;
                  }DeviceCapabilities;
                  struct                                                                // 1 elements, 0x8 bytes (sizeof)
                  {
/*0x008*/             struct _IO_RESOURCE_REQUIREMENTS_LIST* IoResourceRequirementList;
                  }FilterResourceRequirements;
                  struct                                                                // 4 elements, 0x20 bytes (sizeof)
                  {
/*0x008*/             ULONG32      WhichSpace;
/*0x00C*/             UINT8        _PADDING1_[0x4];
/*0x010*/             VOID*        Buffer;
/*0x018*/             ULONG32      Offset;
/*0x01C*/             UINT8        _PADDING2_[0x4];
/*0x020*/             ULONG32      Length;
/*0x024*/             UINT8        _PADDING3_[0x4];
                  }ReadWriteConfig;
                  struct                                                                // 1 elements, 0x1 bytes (sizeof)
                  {
/*0x008*/             UINT8        Lock;
                  }SetLock;
                  struct                                                                // 1 elements, 0x4 bytes (sizeof)
                  {
/*0x008*/             enum _BUS_QUERY_ID_TYPE IdType;
                  }QueryId;
                  struct                                                                // 2 elements, 0x10 bytes (sizeof)
                  {
/*0x008*/             enum _DEVICE_TEXT_TYPE DeviceTextType;
/*0x00C*/             UINT8        _PADDING1_[0x4];
/*0x010*/             ULONG32      LocaleId;
/*0x014*/             UINT8        _PADDING2_[0x4];
                  }QueryDeviceText;
                  struct                                                                // 3 elements, 0x10 bytes (sizeof)
                  {
/*0x008*/             UINT8        InPath;
/*0x009*/             UINT8        Reserved[3];
/*0x00C*/             UINT8        _PADDING1_[0x4];
/*0x010*/             enum _DEVICE_USAGE_NOTIFICATION_TYPE Type;
/*0x014*/             UINT8        _PADDING2_[0x4];
                  }UsageNotification;
                  struct                                                                // 1 elements, 0x4 bytes (sizeof)
                  {
/*0x008*/             enum _SYSTEM_POWER_STATE PowerState;
                  }WaitWake;
                  struct                                                                // 1 elements, 0x8 bytes (sizeof)
                  {
/*0x008*/             struct _POWER_SEQUENCE* PowerSequence;
                  }PowerSequence;
                  struct                                                                // 4 elements, 0x20 bytes (sizeof)
                  {
/*0x008*/             ULONG32      SystemContext;
/*0x00C*/             UINT8        _PADDING1_[0x4];
/*0x010*/             enum _POWER_STATE_TYPE Type;
/*0x014*/             UINT8        _PADDING2_[0x4];
/*0x018*/             union _POWER_STATE State;                                         // 2 elements, 0x4 bytes (sizeof)
/*0x01C*/             UINT8        _PADDING3_[0x4];
/*0x020*/             enum _POWER_ACTION ShutdownType;
/*0x024*/             UINT8        _PADDING4_[0x4];
                  }Power;
                  struct                                                                // 2 elements, 0x10 bytes (sizeof)
                  {
/*0x008*/             struct _CM_RESOURCE_LIST* AllocatedResources;
/*0x010*/             struct _CM_RESOURCE_LIST* AllocatedResourcesTranslated;
                  }StartDevice;
                  struct                                                                // 4 elements, 0x20 bytes (sizeof)
                  {
/*0x008*/             UINT64       ProviderId;
/*0x010*/             VOID*        DataPath;
/*0x018*/             ULONG32      BufferSize;
/*0x01C*/             UINT8        _PADDING1_[0x4];
/*0x020*/             VOID*        Buffer;
                  }WMI;
                  struct                                                                // 4 elements, 0x20 bytes (sizeof)
                  {
/*0x008*/             VOID*        Argument1;
/*0x010*/             VOID*        Argument2;
/*0x018*/             VOID*        Argument3;
/*0x020*/             VOID*        Argument4;
                  }Others;
              }Parameters;
/*0x028*/     struct _DEVICE_OBJECT* DeviceObject;
/*0x030*/     struct _FILE_OBJECT* FileObject;
/*0x038*/     PVOID CompletionRoutine;
/*0x040*/     VOID*        Context;
          }IO_STACK_LOCATION, *PIO_STACK_LOCATION;
Return to structures/enums list.
Return to O.S. version list.

(c) MoonSols 2010.