x64x86arm64ia64alphamipsppc / ntoskrnl

_IRP

← 4.0.1381.1 4 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 {
void (*UserApcRoutine)(void*, struct _IO_STATUS_BLOCK*, unsigned long);/* 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 */
} Overlay;/* 0x40 40 */
void* CompletionKey;/* 0x40 4 */
} Tail;/* 0x40 48 */
};
/* source: Windows 2000 RC2 DDK Alpha libcntpr.lib CodeView type records; build 2128 per the DDK's ntverp.h */
size 112 (0x70)21 members0 holespadding 02 cachelines
Used in (1)