struct _HALP_DMA_CHANNEL { unsigned long ChannelNumber;/* 0x0 4 */ unsigned char Initialized;/* 0x4 1 */ unsigned char Busy;/* 0x5 1 */ unsigned char Complete;/* 0x6 1 */ /* 1 byte padding */ void (*CurrentCompletionRoutine)(struct _DMA_ADAPTER*, struct _DEVICE_OBJECT*, void*, enum DMA_COMPLETION_STATUS);/* 0x8 8 */ void* CurrentCompletionContext;/* 0x10 8 */ struct _ADAPTER_OBJECT* CurrentChildAdapter;/* 0x18 8 */ enum _DMA_INTERRUPT_TYPE CurrentInterruptType;/* 0x20 4 */ /* 4 bytes padding */ struct _KDPC Dpc;/* 0x28 64 */ /* ── cacheline 1 boundary (64 bytes) ── */ unsigned char GeneratesInterrupt;/* 0x68 1 */ /* 3 bytes padding */ long Gsi;/* 0x6c 4 */ enum _KINTERRUPT_POLARITY InterruptPolarity;/* 0x70 4 */ enum _KINTERRUPT_MODE InterruptMode;/* 0x74 4 */ unsigned long CommonBufferLength;/* 0x78 4 */ /* 4 bytes padding */ /* ── cacheline 2 boundary (128 bytes) ── */ void* CommonBufferVirtualAddress;/* 0x80 8 */ union _LARGE_INTEGER CommonBufferLogicalAddress;/* 0x88 8 */ struct _LIST_ENTRY AdapterQueue;/* 0x90 16 */};size 160 (0xa0)17 members4 holes (12 bytes)padding 03 cachelines
Used in (1)