struct _HALP_DMA_ADAPTER_OBJECT { struct _DMA_ADAPTER DmaHeader;/* 0x0 16 */ unsigned long Signature;/* 0x10 4 */ /* 4 bytes padding */ struct _RTL_BITMAP* ContiguousMapRegisters;/* 0x18 8 */ struct _HALP_DMA_TRANSLATION_ENTRY* ScatterBufferListHead;/* 0x20 8 */ unsigned long NumberOfFreeScatterBuffers;/* 0x28 4 */ /* 4 bytes padding */ struct _HALP_DMA_TRANSLATION_BUFFER* ContiguousTranslations;/* 0x30 8 */ struct _HALP_DMA_TRANSLATION_BUFFER* ScatterTranslations;/* 0x38 8 */ /* ── cacheline 1 boundary (64 bytes) ── */ struct _HALP_DMA_TRANSLATION_BUFFER_POSITION ContiguousTranslationEnd;/* 0x40 16 */ struct _HALP_DMA_TRANSLATION_BUFFER_POSITION ScatterTranslationEnd;/* 0x50 16 */ struct { struct _HALP_DMA_TRANSLATION_BUFFER_POSITION ContiguousHint;/* 0x60 16 */ struct _HALP_DMA_TRANSLATION_BUFFER_POSITION ScatterHint;/* 0x70 16 */ } CrashDump;/* 0x60 32 */ /* ── cacheline 2 boundary (128 bytes) ── */ unsigned __int64 SpinLock;/* 0x80 8 */ unsigned __int64 GrowLock;/* 0x88 8 */ union _LARGE_INTEGER MaximumPhysicalAddress;/* 0x90 8 */ unsigned char IsMasterAdapter;/* 0x98 1 */ unsigned char DmaCanCross64K;/* 0x99 1 */ /* 2 bytes padding */ unsigned long LibraryVersion;/* 0x9c 4 */};size 160 (0xa0)16 members3 holes (10 bytes)padding 03 cachelines
Used in (2)