What does HRESULT 0x8009301E (OSS_TYPE_NOT_SUPPORTED) mean?

 
Previous Next
OSS_TABLE_MISMATCH OSS_REAL_DLL_NOT_LINKED

OSS_TYPE_NOT_SUPPORTED

OSS_TYPE_NOT_SUPPORTED (0x8009301E) is an OSS ASN.1 runtime result for ASN.1 type unsupported by this runtime path. The schema contains a type or generated representation that the selected encoder or decoder cannot process. Because ASN.1 type and representation directive 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 encoding rule and optimized runtime variant, then separate the encoded value from generated artifacts, call arguments, and the runtime package actually loaded by the process.

Neighboring statuses: OSS_TYPE_NOT_SUPPORTED

This differs from an unknown PDU number: the runtime locates the type but cannot implement its representation.

What the return code narrows down

At the ASN.1 type unsupported by this runtime path 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 compiler diagnostics for the generated module; otherwise an outer certificate or security wrapper may hide the useful codec result behind a generic failure.

Test one variable at a time

  1. remove only the representation directive in a test schema
  2. try the supported general-purpose runtime
  3. confirm whether encode and decode have different support

Build a useful capture

RecordDiagnostic value
ASN.1 type and representation directiveLocates the concrete message, allocation, module, or API boundary
encoding rule and optimized runtime variantSeparates payload-dependent behavior from build and process state
compiler diagnostics for the generated moduleMakes the comparison reproducible without rewriting the original artifact

Keep the original bytes or object graph unchanged while testing remove only the representation directive in a test schema. A change in encoding rule and optimized runtime variant after reload, plugin replacement, restart, or schema deployment is evidence about runtime state, not permission to discard the reproducer. When compiler diagnostics for the generated module points to one message, retain a cryptographic hash and the smallest safe sample instead of logging certificate, subscriber, credential, or private-key material.

Decision matrix

Controlled observationConclusion it supports
remove only the representation directive in a test schemaA changed outcome isolates the first proposed control instead of a blind retry
ASN.1 type and representation directive differs between success and failureThe difference localizes the ASN.1 type unsupported by this runtime path boundary before unrelated settings are changed
An independent decoder accepts the same artifactInspect generated schema, selected rules, ABI, and optional OSS modules before declaring the bytes invalid
A fresh control object changes the outcomeInvestigate initialization, lifecycle, allocator ownership, configuration mutation, and concurrent access

Instrumentation

Record the full 32-bit HRESULT and lower OSS return number together with operation direction, symbolic PDU, encoding rule, byte count, and generated-table identifier. Where ASN.1 type and representation directive can expose sensitive content, a hash plus a bounded structural excerpt is safer than the complete payload. Use encoding rule and optimized runtime variant together with OSS module paths and versions logged once per process so packaging differences can be correlated without flooding normal diagnostics.

Verify the repair: the result

Regenerate with a supported mapping or choose a runtime variant that explicitly supports the type. A recovery test built around remove only the representation directive in a test schema should replay the same operation under the same schema and encoding rule, retain one deliberately invalid control, and verify ownership and cleanup after both outcomes. Success after an unexamined retry is not proof that ASN.1 type and representation directive now satisfies the codec contract.

Technical references


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