Undocumented functions of NTDLL

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:
  • DataInfoOffset
  •     
  • ClientId
  •     Port's client unique identifier.
  • MessageId
  •     System set this field to actual value of incremental message counter.
  • CallbackId
  •     



    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