x86 / ntdllntoskrnl /

_IRP

← 10.0.18362.1016 23 builds latest →
struct _IRP {
short Type;/* 0x0 2 */
unsigned short Size;/* 0x2 2 */
unsigned long Flags;/* 0x8 4 */
union {
long IrpCount;/* 0xc 4 */
void* SystemBuffer;/* 0xc 4 */
} AssociatedIrp;/* 0xc 4 */
char RequestorMode;/* 0x20 1 */
unsigned char PendingReturned;/* 0x21 1 */
char StackCount;/* 0x22 1 */
char CurrentLocation;/* 0x23 1 */
unsigned char Cancel;/* 0x24 1 */
unsigned char CancelIrql;/* 0x25 1 */
char ApcEnvironment;/* 0x26 1 */
unsigned char AllocationFlags;/* 0x27 1 */
union {
struct {
union {
void (*UserApcRoutine)(void*, struct _IO_STATUS_BLOCK*, unsigned long);/* 0x30 4 */
void* IssuingProcess;/* 0x30 4 */
};/* 0x30 4 */
void* UserApcContext;/* 0x34 4 */
} AsynchronousParameters;/* 0x30 8 */
} Overlay;/* 0x30 8 */
void (*CancelRoutine)(struct _DEVICE_OBJECT*, struct _IRP*);/* 0x38 4 */
void* UserBuffer;/* 0x3c 4 */
/* ── cacheline 1 boundary (64 bytes) ── */
union {
struct {
union {
void* DriverContext[4];/* 0x40 16 */
};/* 0x40 16 */
char* AuxiliaryBuffer;/* 0x54 4 */
union {
unsigned long PacketType;/* 0x60 4 */
};/* 0x60 4 */
void* IrpExtension;/* 0x68 4 */
} Overlay;/* 0x40 44 */
void* CompletionKey;/* 0x40 4 */
} Tail;/* 0x40 48 */
};
size 112 (0x70)21 members0 holespadding 02 cachelines
Used in (20)