Microsoft e lokolitse laeborari ea Rust ea semmuso bakeng sa Windows API

Laeborari e entsoe joalo ka crate ea Rust tlasa License ea MIT, e ka sebelisoang tjena:

[litšetleho] lifensetere = "0.2.1"

[litšetleho tsa ho haha] lifensetere = "0.2.1"

Kamora sena, ho build.rs build script, o ka hlahisa li-module tse hlokahalang bakeng sa ts'ebeliso ea hau:

fn main() {
lifensetere:: haha!(
windows::data::xml::dom::*
windows::win32::system_services::{CreateEventW, SetEvent, WaitForSingleObject}
windows::win32::windows_programming::CloseHandle
);
}

Litokomane tse mabapi le li-module tse fumanehang li hatisoa ho litokomane.rs.

Mohlala oa khoutu:

litlamo tsa mod {
:: lifensetere:: kenyeletsa_bindings!();
}

sebelisa litlamo ::{
windows::data::xml::dom::*,
windows::win32::system_services::{CreateEventW, SetEvent, WaitForSingleObject},
windows::win32::windows_programming::CloseHandle,
};

fn main() -> windows::Sephetho<()> {
let doc = XmlDocument::ncha()?;
doc.load_xml(" Lefatše Lumela ")?;

tlohela motso = doc.document_element()?;
tiisetso!(root.node_name()? == "html");
tiisetsang!(root.inner_text()? == "hello world");

sa sireletseha {
tlohela ketsahalo = CreateEventW(
std::ptr::null_mut(),
'nete.ka (),
bohata.ka (),
std::ptr::null(),
);

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

Ho lokile(())
}

Mehala e meng ea tšebetso e sebelisa e sa bolokehang hobane lits'ebetso tsena li fanoe ka tsela eo li leng ka eona, ntle le ho li fetola hore li lumellane le mekhoa ea Rust. Crate e entsoe ka molao-motheo o tšoanang. libc, e sebetsang e le kreiti ea motheo ea ho fihlella libc mme e sebelisoa e le motheo oa ho aha lilaebrari tse nang le sebopeho se sireletsehileng.


Morero o entsoe ka har'a moralo Morero oa Win32 Metadata, e etselitsoeng ho etsa hore ho be bonolo ho etsa li-API bakeng sa lipuo tse fapaneng tsa lenaneo. Laeborari ea bobeli, e entsoeng e ipapisitse le Morero oa Metadata karolong ea pele ea morero - C#/Win32. Microsoft e boetse e phatlalalitse ho qala ha mosebetsi mofuta oa C++, e sebelisang mokhoa oa sejoale-joale oa puo.

Source: linux.org.ru