What does Windows error code 340 (ERROR_INVALID_KERNEL_INFO_VERSION) mean?

 
Could be also:
ConstantTypeOS
UNEXPECTED_STORE_EXCEPTIONBugCheck CodeWindows
Previous Next
ERROR_FT_DI_SCAN_REQUIRED ERROR_INVALID_PEP_INFO_VERSION

ERROR_INVALID_KERNEL_INFO_VERSION

The kernel information contract does not match the running system

ERROR_INVALID_KERNEL_INFO_VERSION is a Win32 system result. This code is associated with low-level system information exchange where a structure, buffer, or version selector must match the contract understood by the running kernel. It often appears in diagnostics, management agents, security software, or code using private or version-sensitive interfaces.

What the result means

The caller supplied a kernel information structure version that the operating system does not recognize. For ERROR_INVALID_KERNEL_INFO_VERSION, keep the symbolic name, numeric value, and failing operation together in diagnostics; that combination distinguishes the exact failure path from nearby system results.

What to check

  • Record the exact API or device-control request and the structure version sent by the caller.
  • Verify the structure size, packing, reserved fields, and architecture-specific layout.
  • Check whether the component was built against headers or an SDK newer than the target Windows release.
  • Confirm that a 32-bit caller is not passing a layout intended for a 64-bit provider, or the reverse.

Recommended handling

Do not retry unchanged input. Select a version supported by the target system, initialize every required field, and fall back gracefully when the requested information class is unavailable.

Developer notes

Treat versioned kernel contracts as capability-negotiated interfaces. Keep the version value and structure size together, zero reserved fields, and log both the caller build and Windows build when diagnosing compatibility failures. When a Win32 API reports ERROR_INVALID_KERNEL_INFO_VERSION, capture GetLastError() immediately; subsequent cleanup, formatting, or logging calls can replace the thread-local value.

References


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