2OO1, 14 January
LPC_MESSAGE
LPC_MESSAGE
typedef struct _LPC_MESSAGE {
USHORT DataLength;
USHORT Length;
USHORT MessageType;
USHORT DataInfoOffset;
CLIENT_ID ClientId;
ULONG MessageId;
ULONG CallbackId;
} LPC_MESSAGE, *PLPC_MESSAGE;
Structure LPC_MESSAGE it's a header for all
LPC messages. Any LPC message must contains at least
0x18 bytes length for LPC_MESSAGE header.
- DataLength Length of additional data in
message. Maximum length of data is 0x130 bytes.
- Length Length of message, including
header. Maximum value is 0x148 bytes length.
- MessageType Type of message. This field
is filled by system in message transfer process. Can be one of
following:
- LPC_REQUEST
- LPC_REPLY
- LPC_DATAGRAM
- LPC_LOST_REPLY
- LPC_PORT_CLOSED
- LPC_CLIENT_DIED
- LPC_EXCEPTION
- LPC_DEBUG_EVENT
- LPC_ERROR_EVENT
- LPC_CONNECTION_REQUEST
- ClientId Port's client unique
identifier.
- MessageId System set this field to
actual value of incremental message counter.
Structure is known also as LPC_MESSAGE_HEADER.
- Documented by:
- Bo Branten
- Tomasz Nowak
Requirements:
- Library: ntdll.lib
See also:
- NtAcceptConnectPort
- NtImpersonateClientOfPort
- NtListenPort
- NtReadRequestData
- NtReplyPort
- NtReplyWaitReceivePort
- NtReplyWaitReplyPort
- NtRequestPort
- NtRequestWaitReplyPort
- NtWriteRequestData