Kua tukuna e Microsoft te whare pukapuka Rust mana mo te API Windows

I hoahoatia te whare pukapuka hei pouaka Waikura i raro i te Raihana MIT, ka taea te whakamahi penei:

[whakawhirinaki] matapihi = "0.2.1"

[hanga-whakawhirinaki] matapihi = "0.2.1"

Whai muri i tenei, i roto i te tuhinga hanga hanga.rs, ka taea e koe te whakaputa i nga waahanga e hiahiatia ana mo to tono:

fn matua() {
matapihi::hanga!(
matapihi::raraunga::xml::dom::*
matapihi::win32::system_services::{CreateEventW, SetEvent, WaitForSingleObject}
windows::win32::windows_programming::CloseHandle
);
}

Ko nga tuhinga e pa ana ki nga waahanga e waatea ana ka whakaputaina i runga docs.rs.

Waehere tauira:

herenga mod {
::windows::include_bindings!();
}

whakamahi here::{
matapihi::raraunga::xml::dom::*,
windows::win32::system_services::{CreateEventW, SetEvent, WaitForSingleObject},
windows::win32::windows_programming::CloseHandle,
};

fn matua() -> matapihi::Hua<()> {
tukua doc = XmlDocument::new()?;
doc.load_xml(" kia ora te ao ")?;

tuku pakiaka = doc.document_element()?;
assert!(root.node_name()? == "html");
assert!(root.inner_text()? == "kia ora te ao");

haumaru {
tuku takahanga = CreateEventW(
std::ptr::null_mut(),
pono.i roto(),
teka.i roto(),
std::ptr::null(),
);

SetEvent(takahanga).ok()?;
WaitForSingleObject(takahanga, 0);
CloseHandle(takahanga).ok()?;
}

Pai(())
}

Ko etahi waea taumahi ka whakamahi i te kore haumaru na te mea ka whakaratohia enei mahi, me te kore e urutau ki nga tikanga Rust. Ka hangaia te Crate i runga i te kaupapa kotahi. libc, e noho ana hei pouaka taketake mo te uru atu ki te libc ka whakamahia hei turanga mo te hanga whare pukapuka me te atanga haumaru.


I hangaia te kaupapa i roto i te anga Kaupapa Metadata Win32, he mea hoahoa kia ngawari ake te hanga API mo nga momo reo hotaka rereke. Ko te whare pukapuka tuarua, i hangaia i runga i te Kaupapa Metadata i te wahanga tuatahi o te kaupapa - C#/Winga32. I panuitia ano e Microsoft te tiimata o te mahi putanga mo C++, e whakamahi ana i te momo reo hou.

Source: linux.org.ru