struct _ALPC_PORT { struct _LIST_ENTRY PortListEntry;/* 0x0 16 */ struct _ALPC_COMMUNICATION_INFO* CommunicationInfo;/* 0x10 8 */ struct _EPROCESS* OwnerProcess;/* 0x18 8 */ unsigned long SequenceNo;/* 0x20 4 */ /* 4 bytes padding */ void* CompletionPort;/* 0x28 8 */ void* CompletionKey;/* 0x30 8 */ struct _ALPC_COMPLETION_PACKET_LOOKASIDE* CompletionPacketLookaside;/* 0x38 8 */ /* ── cacheline 1 boundary (64 bytes) ── */ void* PortContext;/* 0x40 8 */ struct _SECURITY_CLIENT_CONTEXT StaticSecurity;/* 0x48 72 */ /* ── cacheline 2 boundary (128 bytes) ── */ struct _LIST_ENTRY MainQueue;/* 0x90 16 */ struct _LIST_ENTRY PendingQueue;/* 0xa0 16 */ struct _LIST_ENTRY LargeMessageQueue;/* 0xb0 16 */ /* ── cacheline 3 boundary (192 bytes) ── */ struct _LIST_ENTRY WaitQueue;/* 0xc0 16 */ union { struct _KSEMAPHORE* Semaphore;/* 0xd0 8 */ struct _KEVENT* DummyEvent;/* 0xd0 8 */ };/* 0xd0 8 */ struct _EX_PUSH_LOCK Lock;/* 0xd8 8 */ struct _ALPC_PORT_ATTRIBUTES PortAttributes;/* 0xe0 72 */ /* ── cacheline 4 boundary (256 bytes) ── */ struct _EX_PUSH_LOCK ResourceListLock;/* 0x128 8 */ struct _LIST_ENTRY ResourceListHead;/* 0x130 16 */ /* ── cacheline 5 boundary (320 bytes) ── */ struct _ALPC_COMPLETION_LIST* CompletionList;/* 0x140 8 */ struct _ALPC_MESSAGE_ZONE* MessageZone;/* 0x148 8 */ struct _LIST_ENTRY CanceledQueue;/* 0x150 16 */ union { struct { unsigned long Initialized : 1;/* 0x160:0 4 */ unsigned long Type : 2;/* 0x160:1 4 */ unsigned long ConnectionPending : 1;/* 0x160:3 4 */ unsigned long ConnectionRefused : 1;/* 0x160:4 4 */ unsigned long Disconnected : 1;/* 0x160:5 4 */ unsigned long Closed : 1;/* 0x160:6 4 */ unsigned long NoFlushOnClose : 1;/* 0x160:7 4 */ unsigned long ReturnExtendedInfo : 1;/* 0x160:8 4 */ unsigned long Waitable : 1;/* 0x160:9 4 */ unsigned long DynamicSecurity : 1;/* 0x160:10 4 */ unsigned long Wow64CompletionList : 1;/* 0x160:11 4 */ unsigned long Lpc : 1;/* 0x160:12 4 */ unsigned long LpcToLpc : 1;/* 0x160:13 4 */ unsigned long HasCompletionList : 1;/* 0x160:14 4 */ unsigned long HadCompletionList : 1;/* 0x160:15 4 */ } s1;/* 0x160 4 */ unsigned long State;/* 0x160 4 */ } u1;/* 0x160 4 */ /* 4 bytes padding */ struct _ALPC_PORT* TargetQueuePort;/* 0x168 8 */ struct _ALPC_PORT* TargetSequencePort;/* 0x170 8 */ struct _KALPC_MESSAGE* Message;/* 0x178 8 */ /* ── cacheline 6 boundary (384 bytes) ── */ unsigned long MainQueueLength;/* 0x180 4 */ unsigned long PendingQueueLength;/* 0x184 4 */ unsigned long LargeMessageQueueLength;/* 0x188 4 */ unsigned long CanceledQueueLength;/* 0x18c 4 */ unsigned long WaitQueueLength;/* 0x190 4 */};size 408 (0x198)31 members2 holes (8 bytes)padding 47 cachelines
Used in (7)