What does NTSTATUS 0xC000A004 (STATUS_INVALID_KERNEL_INFO_VERSION) mean?

 
Previous Next
STATUS_INVALID_STATE_TRANSITION STATUS_INVALID_PEP_INFO_VERSION

STATUS_INVALID_KERNEL_INFO_VERSION

Validate the PEP kernel-information structure contract

STATUS_INVALID_KERNEL_INFO_VERSION belongs to Platform Extension Plug-in registration. In the PoFxRegisterPlugin contract, the caller and the Windows power framework exchange versioned information structures. Microsoft explicitly documents invalid Version or Size in PEP_KERNEL_INFORMATION as a registration parameter error.

This is an ABI/contract problem, not evidence that a device failed a low-power transition. A PEP should initialize the structure version and size expected by the WDK interface it was built against and use the returned kernel callbacks only according to that contract. Reinterpreting a newer structure layout with an older definition can shift callback pointers and sizes.

What to inspect

  • The exact PEP registration API and WDK headers used to compile the plug-in.
  • PEP_KERNEL_INFORMATION.Version and Size values at the registration call.
  • Any local wrapper or binary interface that copies the structure before registration.
  • Target Windows build and whether the PEP binary was deployed with components from a different build configuration.

Do not solve a version mismatch by hard-coding a larger structure size or zero-filling unknown fields and retrying. Compile and initialize against the documented structure version, then log the values passed to PoFxRegisterPlugin so the failing contract is explicit.

References


Looking for a different code? Search another status or error code.