What does HRESULT 0x80660003 (E_HDAUDIO_CONNECTION_LIST_NOT_SUPPORTED) mean?

 
Previous Next
E_HDAUDIO_EMPTY_CONNECTION_LIST E_HDAUDIO_NO_LOGICAL_DEVICES_CREATED

E_HDAUDIO_CONNECTION_LIST_NOT_SUPPORTED

The scope of E_HDAUDIO_CONNECTION_LIST_NOT_SUPPORTED is HD Audio widget connection-list parsing. The driver requested a connection-list parameter from an HD Audio widget that does not support that capability. Keep 0x80660003 beside the returning method because a wrapper can replace this distinction with a generic subsystem message.

Where the failure occurs

When it is returned, HD Audio codecs expose a graph of pins, converters, selectors, mixers, and processing widgets. Some widgets publish selectable connection lists, while others have fixed or implicit routes. Driver code must read the widget capability bits and type before requesting connection-list parameters, and it must treat a required-but-empty list differently from a widget that never supports such a list.

Inspect the following boundary: the caller must inspect widget capabilities and widget type before assuming a connection list exists. Some widgets have implicit or fixed routing, while others expose selectable connection entries.

Avoid broad resets

E_HDAUDIO_EMPTY_CONNECTION_LIST indicates a supported list with no entries; this result indicates that the queried parameter is not supported for the widget. Do not retry the same unsupported verb or treat every zero-like response as a transient codec failure.

Telemetry with explanatory value

RecordWhy it matters here
Node ID, widget type, and widget-capability bitsPreserving node ID, widget type, and widget-capability bits provides the evidence needed to test this distinction: e_HDAUDIO_EMPTY_CONNECTION_LIST indicates a supported list with no entries; this result indicates that the queried parameter is not supported for the widget.
Verb or parameter used for the queryRecording verb or parameter used for the query separates the HD Audio widget connection-list parsing boundary from a later wrapper symptom.
Raw codec response and parser interpretationIn this result diagnostics, recording raw codec response and parser interpretation ties the HRESULT to the HD Audio widget connection-list parsing boundary rather than to the final visible failure.
The code path that decided a list was mandatoryComparing the code path that decided a list was mandatory shows whether this result follows input, object state, or environment.

Smallest faithful reproducer

Dump the raw codec verbs and widget capabilities for the exact node before creating logical endpoints., compare them with the topology the driver builds, rather than substituting data from another codec revision with a similar marketing name.

  1. When it is returned, gate the query on the relevant widget capability.
  2. Compare the node with a same-type widget from a known-good codec.
  3. check whether the topology should use an implicit predecessor instead.
  4. When it is returned, keep unsupported capability distinct from transport timeout or invalid response.

Separate object, input, and environment

TestInterpretationHold constant
Same environment, reduced inputIf it disappears with a smaller faithful case, complexity within HD Audio widget connection-list parsing is implicated.Keep node ID, widget type, and widget-capability bits fixed while simplifying raw codec response and parser interpretation.
Same input, fresh object generationIf it changes after rebuilding state, examine ownership across the codec parser, miniport, PortCls subdevice builder, and endpoint-construction layer.Place verb or parameter used for the query on the timeline of the last successful transition.
Same operation on a controlled second pathIf it follows one environment, the failure is not explained by source data alone.Compare PnP instance, codec revision, driver package, power state, and logical-device generation while preserving the code path that decided a list was mandatory.

Completion test

A correction for it should let the operation at the HD Audio widget connection-list parsing boundary complete repeatedly under the original supported conditions. Repeat the control that begins with “Gate the query on the relevant widget capability” and confirm that the following lifecycle step also succeeds. Keep the original failing sample and one deliberate negative case so fallback cannot be mistaken for repair.

Technical references

When it is returned, these references define the public API family, object model, or error list used to interpret this status.


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