struct _DUMP_INITIALIZATION_CONTEXT { unsigned long Length;/* 0x0 4 */ unsigned long Reserved;/* 0x4 4 */ void* MemoryBlock;/* 0x8 8 */ void* CommonBuffer[2];/* 0x10 16 */ union _LARGE_INTEGER PhysicalAddress[2];/* 0x20 16 */ void (*StallRoutine)(unsigned long);/* 0x30 8 */ unsigned char (*OpenRoutine)(union _LARGE_INTEGER);/* 0x38 8 */ /* ── cacheline 1 boundary (64 bytes) ── */ long (*WriteRoutine)(union _LARGE_INTEGER*, struct _MDL*);/* 0x40 8 */ void (*FinishRoutine)(void);/* 0x48 8 */ struct _ADAPTER_OBJECT* AdapterObject;/* 0x50 8 */ void* MappedRegisterBase;/* 0x58 8 */ void* PortConfiguration;/* 0x60 8 */ unsigned char CrashDump;/* 0x68 1 */ unsigned char MarkMemoryOnly;/* 0x69 1 */ unsigned char HiberResume;/* 0x6a 1 */ unsigned char InitDumpStackInvoked;/* 0x6b 1 */ unsigned long MaximumTransferSize;/* 0x6c 4 */ unsigned long CommonBufferSize;/* 0x70 4 */ /* 4 bytes padding */ void* TargetAddress;/* 0x78 8 */ /* ── cacheline 2 boundary (128 bytes) ── */ long (*WritePendingRoutine)(long, union _LARGE_INTEGER*, struct _MDL*, void*);/* 0x80 8 */ unsigned long PartitionStyle;/* 0x88 4 */ union { struct { unsigned long Signature;/* 0x8c 4 */ unsigned long CheckSum;/* 0x90 4 */ } Mbr;/* 0x8c 8 */ struct { struct _GUID DiskId;/* 0x8c 16 */ } Gpt;/* 0x8c 16 */ } DiskInfo;/* 0x8c 16 */ /* 4 bytes padding */ long (*ReadRoutine)(long, union _LARGE_INTEGER*, struct _MDL*);/* 0xa0 8 */ long (*GetDriveTelemetryRoutine)(unsigned long, unsigned long, void*, unsigned long);/* 0xa8 8 */ unsigned long LogSectionTruncateSize;/* 0xb0 4 */ unsigned long Parameters[16];/* 0xb4 64 */ /* 4 bytes padding */ /* ── cacheline 3 boundary (192 bytes) ── */ void (*GetTransferSizesRoutine)(unsigned long*, unsigned long*);/* 0xf8 8 */ /* ── cacheline 4 boundary (256 bytes) ── */ void (*DumpNotifyRoutine)(enum _DUMP_EVENTS, void*, unsigned long);/* 0x100 8 */};size 264 (0x108)28 members3 holes (12 bytes)padding 05 cachelines
Used in (1)