Ua tatalaina e Microsoft le faletusi Rust mo le Windows API

O le faletusi ua mamanuina e pei o se Rust crate i lalo o le MIT License, lea e mafai ona faʻaaogaina e pei o lenei:

[faalagolago] windows = "0.2.1"

[build-dependencies] windows = "0.2.1"

A maeʻa lenei, i le build.rs build script, e mafai ona e faʻatupuina modules e manaʻomia mo lau talosaga:

fn autu() {
faamalama::fausia!(
windows::data::xml::dom::*
windows::win32::system_services::{CreateEventW, SetEvent, WaitForSingleObject}
windows::win32::windows_programming::CloseHandle
);
}

O fa'amaumauga e uiga i modula avanoa o lo'o lomia ile docs.rs.

Fa'ata'ita'iga code:

fa'amauga fa'atusa {
::windows::include_bindings!();
}

fa'aoga fusi::{
windows::data::xml::dom::*,
windows::win32::system_services::{CreateEventW, SetEvent, WaitForSingleObject},
windows::win32::windows_programming::CloseHandle,
};

fn main() -> windows::Iuuga<()> {
tu'u doc ​​= XmlDocument::new()?;
doc.load_xml(" talofa le lalolagi ")?;

tu'u a'a = doc.document_element()?;
fa'amaonia!(root.node_name()? == "html");
fa'ailoa!(root.inner_text()? == "talofa le lalolagi");

le saogalemu {
tu'u mea na tupu = CreateEventW(
std::ptr::null_mut(),
true.into(),
false.into(),
std::ptr::null(),
);

SetEvent(event).ok()?;
WaitForSingleObject(mea na tupu, 0);
CloseHandle(mea na tupu).ok()?;
}

Ua lelei(())
}

O nisi vala'au fa'atino e fa'aoga le saogalemu ona o nei galuega e tu'uina atu e pei ona i ai, e aunoa ma le fa'afetauiina i tulafono a Rust. Crate ua mamanuina i luga o le mataupu faavae lava e tasi. libc, lea e avea o se pusa faʻavae mo le mauaina o le libc ma faʻaaogaina e fai ma faavae mo le fausiaina o faletusi ma se faʻaoga saogalemu.


O le poloketi na faia i totonu o le auivi Win32 Metadata Poloketi, lea ua mamanuina ina ia faafaigofie ai ona fausia API mo gagana eseese polokalame. O le faletusi lona lua, lea na faia e faʻavae i luga o le Metadata Project i le vaega muamua o le poloketi - C#/Win32. Na faalauiloa foi e Microsoft le amataga o galuega i luga lomiga mo C++, lea e faaaogā ai le gagana faaonaponei.

puna: linux.org.ru