wmi 0.4.1

WMI crate for rust.
docs.rs failed to build wmi-0.4.1
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Visit the last successful build: wmi-0.13.3

wmi

Build Status crates.io

Documentation

WMI crate for rust. Currently in beta.

# Cargo.toml
[dependencies]
wmi = "0.4"

Examples

Queries can be deserialized info a free-form HashMap or a struct:

use std::collections::HashMap;
use serde::Deserialize;

use wmi::{from_wbem_class_obj, COMLibrary, Variant, WMIConnection, WMIDateTime};

let com_con = COMLibrary::new().unwrap();
let wmi_con = WMIConnection::new(com_con.into()).unwrap();

let results: Vec<HashMap<String, Variant>> = wmi_con.raw_query("SELECT * FROM Win32_OperatingSystem").unwrap();

for os in results {
    println!("{:#?}", os);
}

#[derive(Deserialize, Debug)]
struct Win32_OperatingSystem {
    Caption: String,
    Name: String,
    CurrentTimeZone: i16,
    Debug: bool,
    EncryptionLevel: u32,
    ForegroundApplicationBoost: u8,
    LastBootUpTime: WMIDateTime,
}

let results: Vec<Win32_OperatingSystem> = wmi_con.query().unwrap();

for os in results {
    println!("{:#?}", os);
}

License

The wmi crate is licensed under either of

Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)

at your option.