typedef struct _KALPC_MESSAGE { LIST_ENTRY Entry; void *ExtensionBuffer; unsigned __int64 ExtensionBufferSize; union { EPROCESS *QuotaProcess; void *QuotaBlock; }; long SequenceNo; union { struct { unsigned long QueueType : 2; unsigned long QueuePortType : 4; unsigned long Canceled : 1; unsigned long Ready : 1; unsigned long ReleaseMessage : 1; unsigned long SharedQuota : 1; unsigned long ReplyWaitReply : 1; unsigned long OwnerPortReference : 1; unsigned long ReserveReference : 1; unsigned long ReceiverReference : 1; unsigned long ViewAttributeRetrieved : 1; unsigned long InDispatch : 1; } s1; unsigned long State; } u1; ALPC_PORT *CancelSequencePort; ALPC_PORT *CancelQueuePort; long CancelSequenceNo; LIST_ENTRY CancelListEntry; ETHREAD *WaitingThread; KALPC_RESERVE *Reserve; ALPC_PORT *PortQueue; ALPC_PORT *OwnerPort; KALPC_MESSAGE_ATTRIBUTES MessageAttributes; void *DataUserVa; void *DataSystemVa; ALPC_COMMUNICATION_INFO *CommunicationInfo; ALPC_PORT *ConnectionPort; ETHREAD *ServerThread; PORT_MESSAGE PortMessage; } KALPC_MESSAGE, *PKALPC_MESSAGE;