What does HRESULT 0x80310016 (FVE_E_BAD_DATA) mean?

 
Previous Next
FVE_E_NOT_SUPPORTED FVE_E_VOLUME_NOT_BOUND

FVE_E_BAD_DATA

The exact BitLocker boundary

FVE_E_BAD_DATA (0x80310016) identifies the point where BitLocker metadata or a management input was parsed but failed structural validation. Note: The BitLocker provider tracks encryption conversion, protection, lock state, metadata version, filesystem geometry and outstanding volume use independently. When diagnosing this result, remember: Two volumes can both appear “encrypted” in a UI while being in very different states for a management API.

Note: Conversion status and protection status answer different questions: sectors can be encrypted while protectors are suspended, and a fully decrypted volume can still contain stale management context in a caller.

Do not confuse it with a nearby failure

Keep this separate from a locked volume or an incorrect recovery secret, which fail at access or authentication rather than data validation. That distinction determines whether the next check belongs to policy, protector inventory, volume geometry, firmware, account escrow or the calling application's buffer contract.

Evidence that distinguishes the condition

  • record the exact API method, input buffer length, volume metadata version, first failing offset and whether another BitLocker tool can read the same volume. Keep the full HRESULT and the first method that returned it because later cleanup calls can report a different state.
  • capture manage-bde -status and the protector inventory for the exact volume GUID, not only the drive letter, because letters can change in WinRE, clusters and deployment environments.
  • Export BitLocker operational events for the result failure and note the boot session, caller identity and management source; that evidence separates this BitLocker condition from a generic access or storage error.
manage-bde -status
powershell -NoProfile -Command "Get-BitLockerVolume | Format-List *"

Safe corrective sequence

  1. stop writes to the affected volume, preserve recovery material, and reproduce the failure with a read-only status query before attempting repair.
  2. After correcting the result prerequisite, refresh protection, conversion and lock state before one controlled retry; a cached UI message is not proof that the condition is still active.
  3. Before a this result remediation deletes protectors, changes firmware mode, resizes partitions or decrypts a production drive, verify that an independent recovery method is available and escrowed in the intended directory or account.

The boundary above identifies which BitLocker state must change before a retry can be meaningful; repeating the call without changing that state only adds noise.

Validate structure before attempting recovery

This result is deliberately broader than an authentication failure: BitLocker received bytes or metadata but could not accept their internal structure. The first question is which object was being parsed—volume metadata, a key package, a protector blob or caller-supplied management data. Record that object and the exact read-only method that first rejected it.

A successful filesystem mount does not validate BitLocker metadata, and a failed recovery password does not prove structural corruption. Preserve the disk image or metadata evidence before any operation that rewrites headers.

State checks specific to the result

CheckpointHow to interpret it for it
Before the callRecord the target identity and the pre-call volume state and geometry state. The decisive boundary is that BitLocker metadata or a management input was parsed but failed structural validation.
At failurePreserve the exact API method, input buffer length, volume metadata version, first failing offset and whether another BitLocker tool can read the same volume. This proves whether it came from BitLocker itself or from a wrapper translating another result.
After correctionStop writes to the affected volume, preserve recovery material, and reproduce the failure with a read-only status query before attempting repair. The request should then advance without removing an unrelated recovery route.
After reboot or remountRecheck protection, conversion and lock state for it; a successful management call is incomplete if the next boot cannot unlock the volume.

Verification after the change

Success means more than the absence of a dialog. Confirm that the condition represented by it now matches the intended design, that the protector inventory has not lost an independent recovery route, and that the next reboot or remount can unlock the volume. If the request advances to another HRESULT, record both values in order because that transition reveals the next unmet prerequisite.

References

Reference set for it:


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