What does HRESULT 0x80093024 (OSS_COMPARATOR_DLL_NOT_LINKED) mean?

 
Previous Next
OSS_CONSTRAINT_DLL_NOT_LINKED OSS_COMPARATOR_CODE_NOT_LINKED

OSS_COMPARATOR_DLL_NOT_LINKED

OSS_COMPARATOR_DLL_NOT_LINKED (0x80093024) is an OSS ASN.1 runtime result for generated-value comparator DLL absent. The runtime cannot load the optional module used for schema-aware comparison of ASN.1 values. Because comparison API and ASN.1 type 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 comparator DLL resolution and dependencies, then separate the encoded value from generated artifacts, call arguments, and the runtime package actually loaded by the process.

Similar names, different faults: OSS_COMPARATOR_DLL_NOT_LINKED

Bytewise comparison is not generally equivalent to ASN.1 value comparison, especially with pointers, defaults, SET ordering, or multiple BER encodings.

Where processing stopped

At the generated-value comparator DLL absent 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 semantics required for absent/default components; otherwise an outer certificate or security wrapper may hide the useful codec result behind a generic failure.

Isolation sequence

  1. compare identical independently allocated values
  2. exercise optional and defaulted fields
  3. confirm the generated and runtime versions match

Facts that change the conclusion

RecordDiagnostic value
comparison API and ASN.1 typeLocates the concrete message, allocation, module, or API boundary
comparator DLL resolution and dependenciesSeparates payload-dependent behavior from build and process state
semantics required for absent/default componentsMakes the comparison reproducible without rewriting the original artifact

Keep the original bytes or object graph unchanged while testing compare identical independently allocated values. A change in comparator DLL resolution and dependencies after reload, plugin replacement, restart, or schema deployment is evidence about runtime state, not permission to discard the reproducer. When semantics required for absent/default components 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
compare identical independently allocated valuesA changed outcome isolates the first proposed control instead of a blind retry
comparison API and ASN.1 type differs between success and failureThe difference localizes the generated-value comparator DLL absent 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 comparison API and ASN.1 type can expose sensitive content, a hash plus a bounded structural excerpt is safer than the complete payload. Use comparator DLL resolution and dependencies together with OSS module paths and versions logged once per process so packaging differences can be correlated without flooding normal diagnostics.

Completion check: the result

Package the comparator module and validate equality semantics with structurally different but equivalent test values. A recovery test built around compare identical independently allocated values 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 comparison API and ASN.1 type now satisfies the codec contract.

Technical references


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