What does NTSTATUS 0xC0000722 (STATUS_LPC_HANDLE_COUNT_EXCEEDED) mean?

 
Previous Next
STATUS_CALLBACK_RETURNED_THREAD_AFFINITY STATUS_EXECUTABLE_MEMORY_WRITE

STATUS_LPC_HANDLE_COUNT_EXCEEDED

The native message contains too many transferred handles

LPC and ALPC can transfer kernel-object handles through message attributes, but the native message format and port policy impose a finite count. Exceeding that count is a protocol construction error; enlarging the payload buffer does not increase the handle array limit.

Large handle batches should be redesigned. Transfer only the objects needed for one operation, split the exchange into sequenced messages, or represent a collection through one shared section or brokered server object. Every partial transfer also needs explicit rollback and close semantics.

What to inspect

  • Count handles after filtering invalid or duplicate entries, not before application-level expansion.
  • Record desired access, object type, and ownership transfer policy for each handle.
  • Split batches with a transaction or sequence identifier so the receiver can detect incomplete delivery.
  • Close duplicated handles on every failure path, including rejection before the peer accepts the message.

References


Looking for a different code? Search another status or error code.