struct _IO_STACK_LOCATION { unsigned char MajorFunction;/* 0x0 1 */ unsigned char MinorFunction;/* 0x1 1 */ unsigned char Flags;/* 0x2 1 */ unsigned char Control;/* 0x3 1 */ union { struct { struct _IO_SECURITY_CONTEXT* SecurityContext;/* 0x4 4 */ unsigned long Options;/* 0x8 4 */ unsigned short FileAttributes;/* 0xc 2 */ unsigned short ShareAccess;/* 0xe 2 */ unsigned long EaLength;/* 0x10 4 */ } Create;/* 0x4 16 */ struct { struct _IO_SECURITY_CONTEXT* SecurityContext;/* 0x4 4 */ unsigned long Options;/* 0x8 4 */ unsigned short Reserved;/* 0xc 2 */ unsigned short ShareAccess;/* 0xe 2 */ struct _NAMED_PIPE_CREATE_PARAMETERS* Parameters;/* 0x10 4 */ } CreatePipe;/* 0x4 16 */ struct { struct _IO_SECURITY_CONTEXT* SecurityContext;/* 0x4 4 */ unsigned long Options;/* 0x8 4 */ unsigned short Reserved;/* 0xc 2 */ unsigned short ShareAccess;/* 0xe 2 */ struct _MAILSLOT_CREATE_PARAMETERS* Parameters;/* 0x10 4 */ } CreateMailslot;/* 0x4 16 */ struct { unsigned long Length;/* 0x4 4 */ unsigned long Key;/* 0x8 4 */ union _LARGE_INTEGER ByteOffset;/* 0xc 8 */ } Read;/* 0x4 16 */ struct { unsigned long Length;/* 0x4 4 */ unsigned long Key;/* 0x8 4 */ union _LARGE_INTEGER ByteOffset;/* 0xc 8 */ } Write;/* 0x4 16 */ struct { unsigned long Length;/* 0x4 4 */ struct _STRING* FileName;/* 0x8 4 */ int FileInformationClass;/* 0xc 4 */ unsigned long FileIndex;/* 0x10 4 */ } QueryDirectory;/* 0x4 16 */ struct { unsigned long Length;/* 0x4 4 */ unsigned long CompletionFilter;/* 0x8 4 */ } NotifyDirectory;/* 0x4 8 */ struct { unsigned long Length;/* 0x4 4 */ int FileInformationClass;/* 0x8 4 */ } QueryFile;/* 0x4 8 */ struct { unsigned long Length;/* 0x4 4 */ int FileInformationClass;/* 0x8 4 */ struct _FILE_OBJECT* FileObject;/* 0xc 4 */ union { struct { unsigned char ReplaceIfExists;/* 0x10 1 */ unsigned char AdvanceOnly;/* 0x11 1 */ };/* 0x10 2 */ unsigned long ClusterCount;/* 0x10 4 */ void* DeleteHandle;/* 0x10 4 */ };/* 0x10 4 */ } SetFile;/* 0x4 16 */ struct { unsigned long Length;/* 0x4 4 */ void* EaList;/* 0x8 4 */ unsigned long EaListLength;/* 0xc 4 */ unsigned long EaIndex;/* 0x10 4 */ } QueryEa;/* 0x4 16 */ struct { unsigned long Length;/* 0x4 4 */ } SetEa;/* 0x4 4 */ struct { unsigned long Length;/* 0x4 4 */ int FsInformationClass;/* 0x8 4 */ } QueryVolume;/* 0x4 8 */ struct { unsigned long Length;/* 0x4 4 */ int FsInformationClass;/* 0x8 4 */ } SetVolume;/* 0x4 8 */ struct { unsigned long OutputBufferLength;/* 0x4 4 */ unsigned long InputBufferLength;/* 0x8 4 */ unsigned long FsControlCode;/* 0xc 4 */ void* Type3InputBuffer;/* 0x10 4 */ } FileSystemControl;/* 0x4 16 */ struct { union _LARGE_INTEGER* Length;/* 0x4 4 */ unsigned long Key;/* 0x8 4 */ union _LARGE_INTEGER ByteOffset;/* 0xc 8 */ } LockControl;/* 0x4 16 */ struct { unsigned long OutputBufferLength;/* 0x4 4 */ unsigned long InputBufferLength;/* 0x8 4 */ unsigned long IoControlCode;/* 0xc 4 */ void* Type3InputBuffer;/* 0x10 4 */ } DeviceIoControl;/* 0x4 16 */ struct { unsigned long SecurityInformation;/* 0x4 4 */ unsigned long Length;/* 0x8 4 */ } QuerySecurity;/* 0x4 8 */ struct { unsigned long SecurityInformation;/* 0x4 4 */ void* SecurityDescriptor;/* 0x8 4 */ } SetSecurity;/* 0x4 8 */ struct { struct _VPB* Vpb;/* 0x4 4 */ struct _DEVICE_OBJECT* DeviceObject;/* 0x8 4 */ } MountVolume;/* 0x4 8 */ struct { struct _VPB* Vpb;/* 0x4 4 */ struct _DEVICE_OBJECT* DeviceObject;/* 0x8 4 */ } VerifyVolume;/* 0x4 8 */ struct { struct _SCSI_REQUEST_BLOCK* Srb;/* 0x4 4 */ } Scsi;/* 0x4 4 */ struct { struct _CM_RESOURCE_LIST* AllocatedResources;/* 0x4 4 */ } StartDevice;/* 0x4 4 */ struct { void* Argument1;/* 0x4 4 */ void* Argument2;/* 0x8 4 */ void* Argument3;/* 0xc 4 */ void* Argument4;/* 0x10 4 */ } Others;/* 0x4 16 */ } Parameters;/* 0x4 16 */ struct _DEVICE_OBJECT* DeviceObject;/* 0x14 4 */ struct _FILE_OBJECT* FileObject;/* 0x18 4 */ long (*CompletionRoutine)(struct _DEVICE_OBJECT*, struct _IRP*, void*);/* 0x1c 4 */ void* Context;/* 0x20 4 */};/* source: NT 4.0 DDK (August 1996) MIPS LIBCNTPR.LIB CodeView type records; _EPROCESS/_ETHREAD offsets match KDEXTMIP.DLL (NT 4.0 Server CD) */size 36 (0x24)9 members0 holespadding 01 cacheline
Used in (1)