26 breaking releases

0.58.0 Jul 3, 2024
0.56.0 Apr 12, 2024
0.55.0 Mar 6, 2024
0.52.0 Nov 15, 2023
0.34.0 Mar 15, 2022

#583 in Parser implementations

Download history 19947/week @ 2024-09-20 21309/week @ 2024-09-27 18731/week @ 2024-10-04 15174/week @ 2024-10-11 16915/week @ 2024-10-18 13696/week @ 2024-10-25 13689/week @ 2024-11-01 10462/week @ 2024-11-08 14421/week @ 2024-11-15 11395/week @ 2024-11-22 11561/week @ 2024-11-29 11361/week @ 2024-12-06 12223/week @ 2024-12-13 7847/week @ 2024-12-20 7244/week @ 2024-12-27 8703/week @ 2025-01-03

38,378 downloads per month

MIT/Apache

94KB
2.5K SLoC

Windows metadata reader

The windows-metadata crate provides a fast reader for Windows metadata files based on the ECMA-335 file format.

Start by adding the following to your Cargo.toml file:

[dependencies.windows-metadata]
version = "0.58"

Read metadata as needed:

use windows_metadata::*;

fn main() {
    let bytes = std::fs::read(r#"C:\Windows\System32\WinMetadata\Windows.Foundation.winmd"#)
        .expect("File not found");

    let file = File::new(bytes).expect("Invalid metadata");

    let reader = Reader::new(vec![file]);

    for def in reader.get_type_def("Windows.Foundation", "IAsyncInfo") {
        println!("{}", def.name());

        for method in def.methods() {
            println!("{}", method.name());
        }
    }
}

No runtime deps