| Previous | Next |
| MILEFFECTSERR_EFFECTALREADYINAGRAPH | MILEFFECTSERR_ALREADYATTACHEDTOLISTENER |
MILEFFECTSERR_EFFECTHASNOCHILDREN
The scope of MILEFFECTSERR_EFFECTHASNOCHILDREN is MIL effect child collections and listeners. An operation requiring child effects was applied to an effect node with an empty child collection. Keep 0x88980617 beside the returning method because a wrapper can replace this distinction with a generic subsystem message.
Read the HRESULT in context
When it is returned, composite effects and graph listeners have collection lifetimes independent of visual appearance. An empty child set can invalidate an operation that expects aggregation, while registering the same listener twice creates duplicate ownership of notifications. Both cases require inspecting collection membership and subscription state rather than pixel output.
Inspect the following boundary: child enumeration, grouping, or composite effect setup.
Common wrong turns
NOINPUTSOURCEATTACHED concerns image input; child-effect membership is a separate structural relationship. Do not catch the HRESULT and continue rendering with a partially connected graph; later failures can obscure the invariant that was first violated.
Capture before changing state
| Record | Why it matters here |
|---|---|
| Effect instance and owning graph or group identity | In this result diagnostics, recording effect instance and owning graph or group identity ties the HRESULT to the MIL effect child collections and listeners boundary rather than to the final visible failure. |
| Connector, input, child, listener, property, or transform involved | Comparing connector, input, child, listener, property, or transform involved shows whether this result follows input, object state, or environment. |
| Calculated input and output bounds | Preserving calculated input and output bounds provides the evidence needed to test this distinction: nOINPUTSOURCEATTACHED concerns image input; child-effect membership is a separate structural relationship. |
| Construction sequence and first method returning the HRESULT | Recording construction sequence and first method returning the HRESULT separates the MIL effect child collections and listeners boundary from a later wrapper symptom. |
A minimal test sequence
Test one child or one listener registration, then add and remove entries while logging object identity., include an empty collection and a duplicate registration as explicit negative controls.
- When it is returned, add the intended child once and verify the operation’s minimum child count.
- Rebuild the smallest graph containing only the implicated node and one known input.
- log ownership changes and graph generation numbers.
- When it is returned, validate the graph before allocating large intermediate resources.
Three diagnostic branches
| Test | Interpretation | Hold constant |
|---|---|---|
| Same environment, reduced input | If this result disappears with a smaller faithful case, complexity within MIL effect child collections and listeners is implicated. | Keep effect instance and owning graph or group identity fixed while simplifying calculated input and output bounds. |
| Same input, fresh object generation | If this result changes after rebuilding state, examine ownership across the effect instance, connector builder, graph owner, listener, and bounds calculator. | Place connector, input, child, listener, property, or transform involved on the timeline of the last successful transition. |
| Same operation on a controlled second path | If this result follows one environment, the failure is not explained by source data alone. | Compare visual generation, effect registration, shader profile, rendering tier, and target dimensions while preserving construction sequence and first method returning the HRESULT. |
Regression verification
A correction for it should let the operation at the MIL effect child collections and listeners boundary complete repeatedly under the original supported conditions. Repeat the control that begins with “Add the intended child once and verify the operation’s minimum child count” 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 Open Specifications: HRESULT values.
- Microsoft: WPF bitmap effects overview.
- Microsoft: PixelShader class.
- Microsoft: Direct2D custom effects.
- Microsoft: ID2D1TransformGraph.
Looking for a different code? Search another status or error code.
