What does HRESULT 0x80093009 (OSS_PDU_MISMATCH) mean?

 
Previous Next
OSS_OUT_MEMORY OSS_LIMITED

OSS_PDU_MISMATCH

OSS_PDU_MISMATCH (0x80093009) is an OSS ASN.1 runtime result for wire tag selects a different ASN.1 type. During decoding, the type inferred from BER or XML markup does not match the object type the caller asked the runtime to decode. Because expected PDU name and selector is central to this condition, Microsoft’s HRESULT range and the OSS Nokalva return-code documentation should be read together. Start the investigation by recording actual outer tag, namespace, or XML element, then separate the encoded value from generated artifacts, call arguments, and the runtime package actually loaded by the process.

What not to confuse it with: OSS_PDU_MISMATCH

PDU_RANGE is an invalid numeric selector; PDU_MISMATCH can use a valid selector that simply does not match the bytes.

Locate the failing codec stage

At the wire tag selects a different ASN.1 type boundary, capture the first OSS function returning the value and note whether the operation was encode, decode, copy, compare, constraint validation, or trace setup. Preserve the selected PDU, encoding rules, and producer schema and encoding rule; otherwise an outer certificate or security wrapper may hide the useful codec result behind a generic failure.

Evidence worth preserving

  • expected PDU name and selector
  • actual outer tag, namespace, or XML element
  • producer schema and encoding rule

A controlled way to reproduce it

  1. decode through the correct top-level dispatcher
  2. Compare the first tag with a known-good message
  3. Confirm that payload routing did not send one message class to another decoder

Instrumentation

Where expected PDU name and selector can expose sensitive content, a hash plus a bounded structural excerpt is safer than the complete payload. Use actual outer tag, namespace, or XML element together with OSS module paths and versions logged once per process so packaging differences can be correlated without flooding normal diagnostics.

Exit criteria: the result

Correct routing or the selected top-level type, then test every message variant accepted on that channel.

Technical references


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