What does HRESULT 0x80660002 (E_HDAUDIO_EMPTY_CONNECTION_LIST) mean?

 
Previous Next
E_AUDIO_ENGINE_NODE_NOT_FOUND E_HDAUDIO_CONNECTION_LIST_NOT_SUPPORTED

E_HDAUDIO_EMPTY_CONNECTION_LIST

The scope of E_HDAUDIO_EMPTY_CONNECTION_LIST is HD Audio widget connection-list parsing. An HD Audio widget that should expose routable connections reported an empty connection list. Keep 0x80660002 beside the returning method because a wrapper can replace this distinction with a generic subsystem message.

Locate the first rejecting layer

When E_HDAUDIO_EMPTY_CONNECTION_LIST 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 in the E_HDAUDIO_EMPTY_CONNECTION_LIST path. For E_HDAUDIO_EMPTY_CONNECTION_LIST, 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.

For E_HDAUDIO_EMPTY_CONNECTION_LIST, inspect the following boundary: in the HD Audio codec graph, connection lists link widgets such as pins, selectors, mixers, converters, and processing nodes. An unexpected empty list means topology enumeration cannot establish a valid upstream or downstream route for that widget.

Misleading responses

E_HDAUDIO_CONNECTION_LIST_NOT_SUPPORTED means the widget does not advertise this parameter at all; EMPTY_CONNECTION_LIST means a list path was reached but no usable entries were present. For E_HDAUDIO_EMPTY_CONNECTION_LIST, do not fabricate a connection to make endpoint construction continue; an invented route can connect the wrong converter or expose unsafe controls.

Evidence that changes the diagnosis

RecordWhy it matters here
Codec vendor/device and subsystem IDsPreserving codec vendor/device and subsystem IDs provides the evidence needed to test this distinction: e_HDAUDIO_CONNECTION_LIST_NOT_SUPPORTED means the widget does not advertise this parameter at all; EMPTY_CONNECTION_LIST means a list path was reached but no usable entries were present.
Function group, node ID, widget capabilities, and raw connection-list responseFor E_HDAUDIO_EMPTY_CONNECTION_LIST, recording function group, node ID, widget capabilities, and raw connection-list response separates the HD Audio widget connection-list parsing boundary from a later wrapper symptom.
Driver parser index and expected connection countIn E_HDAUDIO_EMPTY_CONNECTION_LIST diagnostics, recording driver parser index and expected connection count ties the HRESULT to the HD Audio widget connection-list parsing boundary rather than to the final visible failure.
Codec reset and power-state historyComparing codec reset and power-state history shows whether E_HDAUDIO_EMPTY_CONNECTION_LIST follows input, object state, or environment.

Controlled reproduction

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

  1. When E_HDAUDIO_EMPTY_CONNECTION_LIST is returned, dump the codec topology directly before the function driver transforms it.
  2. Compare cold boot, resume, and codec-reset results in the E_HDAUDIO_EMPTY_CONNECTION_LIST path.
  3. For E_HDAUDIO_EMPTY_CONNECTION_LIST, check short-form versus long-form connection-list encoding and range entries.
  4. When E_HDAUDIO_EMPTY_CONNECTION_LIST is returned, validate vendor firmware against the HD Audio specification and a known-good driver.

Comparison tests

TestInterpretationHold constant
Same environment, reduced inputIf E_HDAUDIO_EMPTY_CONNECTION_LIST disappears with a smaller faithful case, complexity within HD Audio widget connection-list parsing is implicated.For E_HDAUDIO_EMPTY_CONNECTION_LIST, keep codec vendor/device and subsystem IDs fixed while simplifying driver parser index and expected connection count.
Same input, fresh object generationIf E_HDAUDIO_EMPTY_CONNECTION_LIST changes after rebuilding state, examine ownership across the codec parser, miniport, PortCls subdevice builder, and endpoint-construction layer.For E_HDAUDIO_EMPTY_CONNECTION_LIST, place function group, node ID, widget capabilities, and raw connection-list response on the timeline of the last successful transition.
Same operation on a controlled second pathIf E_HDAUDIO_EMPTY_CONNECTION_LIST follows one environment, the failure is not explained by source data alone.For E_HDAUDIO_EMPTY_CONNECTION_LIST, compare PnP instance, codec revision, driver package, power state, and logical-device generation while preserving codec reset and power-state history.

Closure criteria

A correction for E_HDAUDIO_EMPTY_CONNECTION_LIST 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 “Dump the codec topology directly before the function driver transforms it” and confirm that the following lifecycle step also succeeds. For E_HDAUDIO_EMPTY_CONNECTION_LIST, keep the original failing sample and one deliberate negative case so fallback cannot be mistaken for repair.

Technical references

When E_HDAUDIO_EMPTY_CONNECTION_LIST 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.