| Previous | Next |
| RPC_E_INVALID_HEADER | RPC_E_INVALID_IPID |
RPC_E_INVALID_EXTENSION
What RPC_E_INVALID_EXTENSION means
RPC_E_INVALID_EXTENSION is returned by the COM/OLE RPC path when a packet extension in the marshalled call representation is invalid. This is a protocol/marshalling boundary between COM participants; it should not be reduced to a generic connectivity failure.
What to capture
- Record the interface IID and method, client/server process identities and architectures, COM apartment, and the first native HRESULT.
- Preserve the component and proxy/stub versions present on both sides of the boundary, especially after deployment or registration changes.
- For custom marshalling, isolate the smallest call and input structure that still produces the result. Do not log secret payload contents when sizes, types, hashes, and correlation IDs are sufficient.
- Correlate process teardown or object replacement with the failing call so stale interface state is not confused with a deterministic format defect.
Difference from RPC_E_INVALID_HEADER
RPC_E_INVALID_HEADER rejects the packet header itself. RPC_E_INVALID_EXTENSION reaches an extension and rejects that part of the representation. Keeping the raw HRESULT makes that distinction available to component and marshalling diagnostics.
Verification
Correct only the identified component, registration, marshalling, or object-lifetime problem, recreate the COM objects, and repeat the original call. Broad Windows or hardware changes are not justified unless independent evidence points there.
Technical references
Looking for a different code? Search another status or error code.