| 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
| Record | Why it matters here |
|---|---|
| Node ID, widget type, and widget-capability bits | Preserving 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 query | Recording 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 interpretation | In 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 mandatory | Comparing 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.
- When it is returned, gate the query on the relevant widget capability.
- Compare the node with a same-type widget from a known-good codec.
- check whether the topology should use an implicit predecessor instead.
- When it is returned, keep unsupported capability distinct from transport timeout or invalid response.
Separate object, input, and environment
| Test | Interpretation | Hold constant |
|---|---|---|
| Same environment, reduced input | If 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 generation | If 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 path | If 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.
- Microsoft: COM error codes for Input and graphics.
- Microsoft: PortCls interfaces and structures.
- Microsoft: Windows audio driver design guide.
- Microsoft: hdaudio.h header reference.
- Microsoft: SysVAD virtual audio driver sample.
Looking for a different code? Search another status or error code.