NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #4580 most downloaded on crates.io
WMI crate for rust.
Last release 6 months ago
27 Mar 2026
Release timing varies
gaps range from 9 days to 5 months
Rarely documented
notes for 10 of 54 stable releases
1 version withdrawn
withdrawn after publishing
7 years old
55 releases · first in 2019
Use CoIncrementMTAUsage behind a target_vendor cfg to support win7 build by @Guiguiprim in #145
CoIncrementMTAUsage behind a target_vendor cfg to support win7 build by @Guiguiprim in #145Full Changelog: v0.18.3...v0.18.4
chore(deps): update criterion requirement from 0.7 to 0.8 by @dependabot [bot] in #139
set_proxy_blanket for accessing namespaces that require elevated authentication levels by @delphifeel in #143Full Changelog: v0.18.2...v0.18.3
One column per quarter.
Add compatibility with multiple windows crate versions by @ohadravid in #144
Full Changelog: v0.18.1...v0.18.2
Added WMIConnection::{put_instance,delete_instance} by @pronebird in #141
WMIConnection::{put_instance,delete_instance} by @pronebird in #141Full Changelog: v0.18.0...v0.18.1
Remove COMLibrary and let WMIConnection initialize COM if needed by @ohadravid in #137 You can now call WMIConnection::new() and let the crate handle
COMLibrary and let WMIConnection initialize COM if needed by @ohadravid in #137WMIConnection::new() and let the crate handle the initialization internally.Full Changelog: v0.17.3...v0.18.0
chore(deps): update criterion requirement from 0.5 to 0.6 by @dependabot [bot] in #128
Full Changelog: v0.17.2...v0.17.3
feat(remote_connection): added with_credentials() by @hatch15 in #127
Support arrays of IUnknown pointers by @samin-cf in #125 and @ohadravid in #126
Full Changelog: v0.17.0...v0.17.1
Added support for Option by @vpopescu in #122
SafeArrayAccessor::new now accepts a NonNull<SAFEARRAY> instead of a reference, in #124Full Changelog: v0.16.0...v0.17.0
This version adds support for more serialization inputs (nested structures, array), and changes the public API to be more cohesive.
This version adds support for more serialization inputs (nested structures, array), and changes the public API to be more cohesive.
Nested structrure can be serialized when provided as method parameters (#120):
let in_params = CreateInput {
CommandLine: "explorer.exe".to_string(),
ProcessStartupInformation: Win32_ProcessStartup {
PriorityClass: 128, // High priority.
},
};
let out: CreateOutput = wmi_con
.exec_class_method::<Win32_Process, _>("Create", in_params)?;Arrays can be serialized when provided as method parameters (#121):
#[derive(Deserialize, Serialize)]
struct SetBinaryValue {
sSubKeyName: String,
sValueName: String,
uValue: Vec<u8>,
}
let test_value = vec![0, 1, 2, 3];
let set_binary_value_params = SetBinaryValue {
// ..
uValue: test_value,
};
let value: SetBinaryValueOut = wmi_con
.exec_class_method::<StdRegProv, _>("SetBinaryValue", &set_binary_value_params)?;More lower-level API functions are exposed for IWbemClassWrapper:
let in_params = wmi_con
.get_object("Win32_Process")?
.get_method("Create")?
.unwrap() // Can be `None`.
.spawn_instance()?;
in_params
.put_property("CommandLine", "explorer.exe".to_string())?;
let out = wmi_con
.exec_method("Win32_Process", "Create", Some(&in_params))?;// Before:
let output: CreateOutput = wmi_con.exec_class_method::<Win32_Process, _, _>("Create", input)?;
let output: PrinterOutput = wmi_con.exec_instance_method::<Win32_Printer, _, _>("Pause", &printer.__Path, ())?;
// Now, only the Class and Out generics are named:
let output: CreateOutput = wmi_con.exec_class_method::<Win32_Process, _>("Create", input)?;
let output: PrinterOutput = wmi_con.exec_instance_method::<Win32_Printer, _>(&printer.__Path, "Pause", ())?;_native) methods to match the original names (exec_method_native_wrapper -> exec_method, exec_query_native_wrapper -> exec_query, etc.)IWbemClassWrapper and WMIConnection, rename lower-level functions by @ohadravid in #120Full Changelog: v0.15.2...v0.16.0
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →