| Previous | Next |
| STATUS_RECURSIVE_DISPATCH | STATUS_LPC_INVALID_CONNECTION_USAGE |
STATUS_LPC_RECEIVE_BUFFER_EXPECTED
The synchronous request has nowhere to store its reply
Request-and-wait operations combine sending a message with receiving the corresponding reply. When the selected native call requires a reply buffer, omitting it breaks the synchronous contract even if the outbound request is valid. A one-way datagram API must be used when no reply is expected.
The receive allocation must also be large enough for the maximum reply and its attributes. Passing a non-null pointer to a header-sized object is not equivalent to providing a valid reply buffer, particularly when handle, security, view, or context attributes can accompany the message.
What to inspect
- Confirm whether the protocol operation is a datagram, request/reply exchange, or connection handshake.
- Allocate the reply buffer according to the maximum message length negotiated for the port.
- Initialize the returned length and attribute storage required by the exact native API.
- Keep the receive buffer alive until the native wait returns and all reply attributes have been consumed.
References
- Microsoft Open Specifications: NTSTATUS values
- System Informer PHNT: native LPC definitions
- ReactOS source: LPC implementation
Looking for a different code? Search another status or error code.