| Previous | Next |
| ERROR_SECONDARY_IC_PROVIDER_NOT_REGISTERED | ERROR_GPIO_VERSION_NOT_SUPPORTED |
ERROR_GPIO_CLIENT_INFORMATION_INVALID
GPIO client information is inconsistent
ERROR_GPIO_CLIENT_INFORMATION_INVALID is Windows system result 15322 (0x00003BDA). The framework rejected information that describes controller capabilities or client behavior.
This result points to semantic inconsistency in GPIO client data, such as impossible bank or pin geometry, unsupported capability combinations, or callback declarations that contradict controller information.
Where this value belongs
- GpioClx queries controller basic information after registration.
- A controller driver reports banks, pins, flags, or capabilities.
- Power resume causes the driver to rebuild client information differently.
The client information must describe real hardware and agree with the callbacks implemented by the driver. Registry changes should not be used to conceal contradictory capability data.
Common interpretation mistakes
- It is mishandled when structure bytes are valid but field relationships are not checked.
- It is mishandled when pin counts overlap or leave impossible ranges.
- It is mishandled when capability flags advertise callbacks the driver does not implement.
- It is mishandled when resume returns information different from initial start without explanation.
Diagnostic sequence
- Capture every controller-information field before the framework call.
- Validate bank count, pin ranges, and total pin capacity.
- Cross-check capability flags with implemented callbacks.
- Compare cold-start and resume information byte for byte.
- Run Static Driver Verifier and framework tracing.
- Reduce the report to the first field relationship rejected by GpioClx.
Evidence worth keeping
- preserve controller information structure and declared version.
- preserve bank and pin geometry.
- preserve capability flags and callback inventory.
- preserve cold-start versus resume values.
- preserve first framework validation status.
It is easier to diagnose from a decoded structure dump than from a generic driver-load failure event.
Correct handling and recovery
Correct the controller information so geometry, flags, context sizes, and callbacks consistently describe the hardware.
Reload or restart the device only after rebuilding the invalid information. Repeating registration with identical data will fail deterministically.
Difference from nearby values
ERROR_GPIO_INVALID_REGISTRATION_PACKET rejects the registration packet itself. Code 15322 focuses on invalid information supplied by the client driver, including later capability data.
Practical scenario
A driver reports two banks of 32 pins but also declares only 48 total pins. GpioClx rejects the inconsistency; corrected bank geometry lets controller preparation continue.
Implementation guidance
Use one hardware-description source to populate every related field and assert cross-field invariants in debug and release builds.
For code 15322, record gpio_info_version, gpio_info_bank_count, gpio_info_pin_ranges, gpio_info_flags, and gpio_info_rejected_field.
References
- Microsoft: System Error Codes 12000–15999
- Microsoft: GpioClx DDI
- Microsoft: GPIO_CLIENT_QUERY_CONTROLLER_BASIC_INFORMATION
Looking for a different code? Search another status or error code.