| Previous | Next |
| ERROR_TIMER_RESUME_IGNORED | ERROR_CARDBUS_NOT_SUPPORTED |
ERROR_ARBITRATION_UNHANDLED
A resource arbiter deferred the decision to its parent
ERROR_ARBITRATION_UNHANDLED corresponds to Win32 error value documented as: The arbiter has deferred arbitration of these resources to its parent A device resource arbiter could not make the final allocation locally and passed the request upward. The condition is part of Plug and Play resource negotiation and may be informational during a successful start.
Where the result appears in real systems
- PnP device start and rebalance.
- Bus drivers assigning I/O ports, memory windows, interrupts, or DMA resources.
- Custom driver diagnostics.
Evidence to collect before changing the system
capture the device instance path, parent bus, requested and translated resource lists, and subsequent PnP status; inspect Device Manager problem codes and SetupAPI.dev.log before assuming the deferral caused failure
Keep the original numeric value, symbolic name, API return path, thread and process identity, and the exact timestamp in one diagnostic record. Those fields prevent later layers from replacing this specific result with a generic failure and make correlation with ETW or Event Viewer practical.
Handling and recovery
Allow the parent arbiter to continue processing. Driver code should preserve the resource requirements and avoid converting a legitimate deferral into an immediate device-start error.
Code that receives this result should classify it according to the operation that produced it: completion information, a recoverable environmental condition, or a programming defect. The result classification should be made at the API boundary where the caller still knows the handle, object, flags, and expected state.
What not to infer from this code
This result means the current arbiter declined ownership of the decision; it does not by itself mean that no valid resource assignment exists.
Implementation guidance
Preserve this result through logging and telemetry instead of immediately converting it to free-form text. When it crosses an HRESULT boundary, record both the original Win32 value and the converted HRESULT; when it crosses RPC, JSON, or another protocol, include an explicit error-domain field so the receiver does not convert it twice.
A useful automated test for this Win32 error should reproduce the relevant state transition, assert the exact returned value, and verify cleanup after both the normal and exceptional path. The test for this Win32 error should also check that a retry is performed only when the underlying state can genuinely change, because unconditional retries often hide ownership, architecture, power, or resource-negotiation defects.
References
Looking for a different code? Search another status or error code.
