| Previous | Next |
| D2DERR_UNSUPPORTED_OPERATION | D2DERR_SCREEN_ACCESS_DENIED |
D2DERR_SCANNER_FAILED
The scope of D2DERR_SCANNER_FAILED is Direct2D geometry and numeric validation. The geometry scanner could not process the supplied geometry data. Keep 0x88990004 beside the returning method because a wrapper can replace this distinction with a generic subsystem message.
Keep neighboring failures separate
D2DERR_BAD_NUMBER identifies invalid numeric input broadly; SCANNER_FAILED is tied to geometry processing. Do not respond with a universal render-target recreation loop unless the returned status specifically documents device-loss recovery; graph, property, numeric, lifetime, and print-state errors require correcting their contract.
What the status establishes
Direct2D geometry processing depends on finite coordinates, valid matrices, closed geometry sinks, fill rules, and tolerances. A scanner failure identifies geometry processing, while a bad-number result can be raised by many APIs before rasterization. Preserve the path segments and numeric inputs at the first method that rejects them.
Path geometry, tessellation, winding, numeric range, or sink construction before rasterization.
Evidence to preserve
- Geometry type and serialized segments
- Fill mode, transforms, tolerance, and bounds
- NaN, infinity, extreme coordinates, or degenerate segments
- The scanner-consuming API and deferred error point
Reduce the scenario safely
Build the geometry segment by segment with identity transform and moderate coordinates. Check every sink close result, then add the original transform, tolerance, and extreme values independently.
- Rebuild the path segment by segment.
- Test without transforms and with moderate coordinates.
- close every geometry sink successfully.
- Compare fill and stroke operations.
Technical references
Looking for a different code? Search another status or error code.