pub enum Decoder {
Identity,
Rot13Name,
FiletimeAt {
offset: usize,
},
Utf16Le,
PipeDelimited {
fields: &'static [&'static str],
},
DwordLe,
MultiSz,
MruListEx,
BinaryRecord(&'static [BinaryField]),
Rot13NameWithBinaryValue(&'static [BinaryField]),
}Expand description
Describes how to decode raw bytes (and/or a registry value name) into structured fields.
This enum is intentionally flat – no recursive &'static Decoder –
so every variant is usable in const/static context.
Variants§
Identity
Pass-through: interpret raw bytes as UTF-8 text. Single field “value”.
Rot13Name
ROT13-decode the name parameter. Single field “program”.
FiletimeAt
Read an 8-byte little-endian FILETIME at the given byte offset.
Utf16Le
Interpret raw bytes as UTF-16LE text.
PipeDelimited
Split the name (or raw as UTF-8) on | and zip with field names.
DwordLe
Read a little-endian u32 from raw bytes.
MultiSz
REG_MULTI_SZ: NUL-separated UTF-16LE strings terminated by double NUL.
MruListEx
MRUListEx: u32-LE index list terminated by 0xFFFFFFFF.
BinaryRecord(&'static [BinaryField])
Parse a fixed-layout binary record using the given field descriptors.
Rot13NameWithBinaryValue(&'static [BinaryField])
ROT13-decode the name, then parse the binary value using field descriptors. Combined output has “program” plus all binary fields.