struct _KALPC_MESSAGE { struct _LIST_ENTRY Entry;/* 0x0 16 */ void* ExtensionBuffer;/* 0x10 8 */ unsigned __int64 ExtensionBufferSize;/* 0x18 8 */ union { struct _EPROCESS* QuotaProcess;/* 0x20 8 */ void* QuotaBlock;/* 0x20 8 */ };/* 0x20 8 */ long SequenceNo;/* 0x28 4 */ union { struct { unsigned long QueueType : 2;/* 0x2c:0 4 */ unsigned long QueuePortType : 4;/* 0x2c:2 4 */ unsigned long Canceled : 1;/* 0x2c:6 4 */ unsigned long Ready : 1;/* 0x2c:7 4 */ unsigned long ReleaseMessage : 1;/* 0x2c:8 4 */ unsigned long SharedQuota : 1;/* 0x2c:9 4 */ unsigned long ReplyWaitReply : 1;/* 0x2c:10 4 */ unsigned long OwnerPortReference : 1;/* 0x2c:11 4 */ unsigned long ReserveReference : 1;/* 0x2c:12 4 */ unsigned long ReceiverReference : 1;/* 0x2c:13 4 */ } s1;/* 0x2c 4 */ unsigned long State;/* 0x2c 4 */ } u1;/* 0x2c 4 */ struct _ALPC_PORT* CancelSequencePort;/* 0x30 8 */ struct _ALPC_PORT* CancelQueuePort;/* 0x38 8 */ /* ── cacheline 1 boundary (64 bytes) ── */ long CancelSequenceNo;/* 0x40 4 */ /* 4 bytes padding */ struct _LIST_ENTRY CancelListEntry;/* 0x48 16 */ struct _ETHREAD* WaitingThread;/* 0x58 8 */ struct _KALPC_RESERVE* Reserve;/* 0x60 8 */ struct _ALPC_PORT* PortQueue;/* 0x68 8 */ struct _ALPC_PORT* OwnerPort;/* 0x70 8 */ struct _HANDLE_TABLE_ENTRY* UniqueTableEntry;/* 0x78 8 */ /* ── cacheline 2 boundary (128 bytes) ── */ struct _KALPC_MESSAGE_ATTRIBUTES MessageAttributes;/* 0x80 56 */ void* DataUserVa;/* 0xb8 8 */ /* ── cacheline 3 boundary (192 bytes) ── */ void* DataSystemVa;/* 0xc0 8 */ struct _ALPC_COMMUNICATION_INFO* CommunicationInfo;/* 0xc8 8 */ struct _ALPC_PORT* ConnectionPort;/* 0xd0 8 */ struct _ETHREAD* ServerThread;/* 0xd8 8 */ struct _PORT_MESSAGE PortMessage;/* 0xe0 40 */};size 264 (0x108)23 members1 hole (4 bytes)padding 05 cachelines
Used in (3)