struct _ALPC_PORT { struct _LIST_ENTRY PortListEntry;/* 0x0 16 */ struct _ALPC_COMMUNICATION_INFO* CommunicationInfo;/* 0x10 8 */ struct _EPROCESS* OwnerProcess;/* 0x18 8 */ struct _KQUEUE* CompletionPort;/* 0x20 8 */ void* CompletionKey;/* 0x28 8 */ struct _ALPC_COMPLETION_PACKET_LOOKASIDE* CompletionPacketLookaside;/* 0x30 8 */ void* PortContext;/* 0x38 8 */ /* ── cacheline 1 boundary (64 bytes) ── */ struct _SECURITY_CLIENT_CONTEXT StaticSecurity;/* 0x40 72 */ /* ── cacheline 2 boundary (128 bytes) ── */ struct _EX_PUSH_LOCK IncomingQueueLock;/* 0x88 8 */ struct _LIST_ENTRY MainQueue;/* 0x90 16 */ struct _LIST_ENTRY LargeMessageQueue;/* 0xa0 16 */ struct _EX_PUSH_LOCK PendingQueueLock;/* 0xb0 8 */ struct _LIST_ENTRY PendingQueue;/* 0xb8 16 */ /* ── cacheline 3 boundary (192 bytes) ── */ struct _EX_PUSH_LOCK DirectQueueLock;/* 0xc8 8 */ struct _LIST_ENTRY DirectQueue;/* 0xd0 16 */ struct _EX_PUSH_LOCK WaitQueueLock;/* 0xe0 8 */ struct _LIST_ENTRY WaitQueue;/* 0xe8 16 */ union { struct _KSEMAPHORE* Semaphore;/* 0xf8 8 */ struct _KEVENT* DummyEvent;/* 0xf8 8 */ };/* 0xf8 8 */ /* ── cacheline 4 boundary (256 bytes) ── */ struct _ALPC_PORT_ATTRIBUTES PortAttributes;/* 0x100 72 */ /* ── cacheline 5 boundary (320 bytes) ── */ struct _EX_PUSH_LOCK ResourceListLock;/* 0x148 8 */ struct _LIST_ENTRY ResourceListHead;/* 0x150 16 */ struct _EX_PUSH_LOCK PortObjectLock;/* 0x160 8 */ struct _ALPC_COMPLETION_LIST* CompletionList;/* 0x168 8 */ struct _CALLBACK_OBJECT* CallbackObject;/* 0x170 8 */ void* CallbackContext;/* 0x178 8 */ /* ── cacheline 6 boundary (384 bytes) ── */ struct _LIST_ENTRY CanceledQueue;/* 0x180 16 */ long SequenceNo;/* 0x190 4 */ long ReferenceNo;/* 0x194 4 */ struct _PALPC_PORT_REFERENCE_WAIT_BLOCK* ReferenceNoWait;/* 0x198 8 */ union { struct { unsigned long Initialized : 1;/* 0x1a0:0 4 */ unsigned long Type : 2;/* 0x1a0:1 4 */ unsigned long ConnectionPending : 1;/* 0x1a0:3 4 */ unsigned long ConnectionRefused : 1;/* 0x1a0:4 4 */ unsigned long Disconnected : 1;/* 0x1a0:5 4 */ unsigned long Closed : 1;/* 0x1a0:6 4 */ unsigned long NoFlushOnClose : 1;/* 0x1a0:7 4 */ unsigned long ReturnExtendedInfo : 1;/* 0x1a0:8 4 */ unsigned long Waitable : 1;/* 0x1a0:9 4 */ unsigned long DynamicSecurity : 1;/* 0x1a0:10 4 */ unsigned long Wow64CompletionList : 1;/* 0x1a0:11 4 */ unsigned long Lpc : 1;/* 0x1a0:12 4 */ unsigned long LpcToLpc : 1;/* 0x1a0:13 4 */ unsigned long HasCompletionList : 1;/* 0x1a0:14 4 */ unsigned long HadCompletionList : 1;/* 0x1a0:15 4 */ unsigned long EnableCompletionList : 1;/* 0x1a0:16 4 */ } s1;/* 0x1a0 4 */ unsigned long State;/* 0x1a0 4 */ } u1;/* 0x1a0 4 */ /* 4 bytes padding */ struct _ALPC_PORT* TargetQueuePort;/* 0x1a8 8 */ struct _ALPC_PORT* TargetSequencePort;/* 0x1b0 8 */ struct _KALPC_MESSAGE* CachedMessage;/* 0x1b8 8 */ /* ── cacheline 7 boundary (448 bytes) ── */ unsigned long MainQueueLength;/* 0x1c0 4 */ unsigned long LargeMessageQueueLength;/* 0x1c4 4 */ unsigned long PendingQueueLength;/* 0x1c8 4 */ unsigned long DirectQueueLength;/* 0x1cc 4 */ unsigned long CanceledQueueLength;/* 0x1d0 4 */ unsigned long WaitQueueLength;/* 0x1d4 4 */};size 472 (0x1d8)40 members1 hole (4 bytes)padding 08 cachelines
Used in (7)