What does HRESULT 0x80093020 (OSS_REAL_CODE_NOT_LINKED) mean?

 
Previous Next
OSS_REAL_DLL_NOT_LINKED OSS_OUT_OF_RANGE

OSS_REAL_CODE_NOT_LINKED

OSS_REAL_CODE_NOT_LINKED (0x80093020) is an OSS ASN.1 runtime result for generated REAL handling code missing. The build contains a path to an ASN.1 REAL value but not the generated or linked code needed to process it. Because link map entries for REAL support 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 compiler options and generated source list, then separate the encoded value from generated artifacts, call arguments, and the runtime package actually loaded by the process.

Where processing stopped

At the generated REAL handling code missing 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 first PDU that references REAL; otherwise an outer certificate or security wrapper may hide the useful codec result behind a generic failure.

Isolation sequence

  1. force a link-time reference in a test target
  2. clean and regenerate all codec sources
  3. compare static and DLL build configurations

Facts that change the conclusion

RecordDiagnostic value
link map entries for REAL supportLocates the concrete message, allocation, module, or API boundary
compiler options and generated source listSeparates payload-dependent behavior from build and process state
first PDU that references REALMakes the comparison reproducible without rewriting the original artifact

Similar names, different faults: the result

Installing a DLL alone may not help when the missing piece is code omitted from the linked generated module.

Keep the original bytes or object graph unchanged while testing force a link-time reference in a test target. A change in compiler options and generated source list after reload, plugin replacement, restart, or schema deployment is evidence about runtime state, not permission to discard the reproducer. When first PDU that references REAL points to one message, retain a cryptographic hash and the smallest safe sample instead of logging certificate, subscriber, credential, or private-key material.

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 link map entries for REAL support can expose sensitive content, a hash plus a bounded structural excerpt is safer than the complete payload. Use compiler options and generated source list together with OSS module paths and versions logged once per process so packaging differences can be correlated without flooding normal diagnostics.

Decision matrix

Controlled observationConclusion it supports
force a link-time reference in a test targetA changed outcome isolates the first proposed control instead of a blind retry
link map entries for REAL support differs between success and failureThe difference localizes the generated REAL handling code missing 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

Completion check: the result

Include the REAL implementation in the target and add a small encode/decode link test to CI. A recovery test built around force a link-time reference in a test target 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 link map entries for REAL support now satisfies the codec contract.

Technical references


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