IMicrosoft ikhiphe umtapo wezincwadi osemthethweni we-Rust weWindows API

Umtapo wolwazi uklanywe njenge-Rust crate ngaphansi kwe-MIT License, engasetshenziswa kanje:

[dependencies] windows = "0.2.1"

[build-dependencies] windows = "0.2.1"

Ngemva kwalokhu, kusikripthi sokwakha se-build.rs, ungakha amamojula adingekayo kuhlelo lwakho lokusebenza:

i-fnmain() {
windows::yakha!(
windows::data::xml::dom::*
windows::win32::system_services::{CreateEventW, SetEvent, WaitForSingleObject}
windows::win32::windows_programming::ValaHandle
);
}

Amadokhumenti mayelana namamojula atholakalayo ashicilelwa ku amadokhumenti.rs.

Ikhodi yesampula:

ukubophezela kwemodi {
::amawindi::faka_okubophayo!();
}

sebenzisa izibopho ::{
windows::data::xml::dom::*,
windows::win32::system_services::{CreateEventW, SetEvent, WaitForSingleObject},
windows::win32::windows_programming::ValaHandle,
};

fn main() -> windows::Umphumela<()> {
let doc = XmlDocument::new()?;
doc.load_xml(" Sawubona Mhlaba ")?;

vumela impande = doc.document_element()?;
qinisekisa!(root.node_name()? == "html");
qinisekisa!(root.inner_text()? == "sawubona mhlaba");

angiphephile {
vumela umcimbi = CreateEventW(
std::ptr::null_mut(),
iqiniso.ku(),
amanga.ku(),
std::ptr::null(),
);

SetEvent(umcimbi).ok()?;
WaitForSingleObject(umcimbi, 0);
ValaHandle(umcimbi).ok()?;
}

Kulungile(())
}

Ezinye izingcingo zemisebenzi zisebenzisa ngokungaphephile ngenxa yokuthi le misebenzi inikezwa njengoba injalo, ngaphandle kokuyijwayelanisa nezimiso zeRust. Ikhreyithi yakhelwe ngomgomo ofanayo. libc, esebenza njengekhreyithi eliyisisekelo lokufinyelela i-libc futhi esetshenziswa njengesisekelo sokwakha amalabhulali anokuxhumana okuvikelekile.


Iphrojekthi idalwe ngaphakathi kohlaka Win32 Metadata Project, eklanyelwe ukwenza kube lula ukudala ama-API ezilimi zokuhlela ezihlukene. Umtapo wezincwadi wesibili, owakhiwe ngokusekelwe kuphrojekthi yeMetadata esigabeni sokuqala sephrojekthi - C#/Win32. IMicrosoft iphinde yamemezela ukuqala komsebenzi inguqulo ye-C++, esebenzisa isitayela sesimanje solimi.

Source: linux.org.ru