| Previous | Next |
| STATUS_CTL_FILE_NOT_SUPPORTED | STATUS_REVISION_MISMATCH |
STATUS_UNKNOWN_REVISION
The receiver cannot interpret the supplied revision value
STATUS_UNKNOWN_REVISION normally means a versioned data structure reached code that does not recognize the revision encoded in it. The revision is part of the data contract, not merely informational metadata. A receiver cannot safely parse fields whose layout or rules belong to an unknown revision.
Windows security-descriptor routines provide direct examples. RtlCreateSecurityDescriptor rejects an unsupported Revision, and the Rtl get/set owner, group, DACL, and SACL helpers can report the same condition when a descriptor carries an unknown revision. This is different from a structurally malformed descriptor: Microsoft documents separate statuses for invalid security descriptors and invalid SIDs.
Capture the raw revision value before any translation, the structure type, its byte length, and which component created it. A producer built with newer headers can expose a newer revision to an older consumer; corrupted or uninitialized memory can also produce an arbitrary revision. Do not “fix” the status by forcing the revision field to the oldest known constant while leaving the rest of the structure untouched. Use an initialization routine for the intended revision or negotiate a format both sides understand.
What to inspect
- Log revision, structure size, and producer/consumer component versions together.
- Distinguish an unknown revision from a known revision whose fields are internally invalid.
- Initialize versioned structures with the documented helper or constant instead of zeroing and guessing fields.
References
- Microsoft: RtlCreateSecurityDescriptor
- Microsoft: RtlGetDaclSecurityDescriptor
- Microsoft: RtlSetGroupSecurityDescriptor
- Microsoft: FltSetSecurityObject
- Microsoft Open Specifications: NTSTATUS values
Looking for a different code? Search another status or error code.
