Գրադարանը նախագծված է որպես Rust crate MIT լիցենզիայի ներքո, որը կարող է օգտագործվել այսպես.
[կախվածություններ] windows = "0.2.1" [build-dependencies] windows = "0.2.1"Դրանից հետո build.rs build script-ում կարող եք ստեղծել ձեր հավելվածի համար անհրաժեշտ մոդուլները.
fn main() {
պատուհաններ::կառուցել!(
windows::տվյալներ::xml::dom::*
windows::win32::system_services::{CreateEventW, SetEvent, WaitForSingleObject}
windows::win32::windows_programming::CloseHandle
);
}
Հասանելի մոդուլների վերաբերյալ փաստաթղթերը հրապարակված են docs.rs.
Օրինակ կոդը:
mod bindings {
::windows::include_bindings!();
}
օգտագործել կապանքները::{
windows::տվյալներ::xml::dom::*,
windows::win32::system_services::{CreateEventW, SetEvent, WaitForSingleObject},
windows::win32::windows_programming::CloseHandle,
};
fn main() -> windows::Արդյունք<()> {
թող doc = XmlDocument::new();
doc.load_xml(" Բարեւ աշխարհ «);
թող արմատ = doc.document_element();
պնդել!(root.node_name()? == «html»);
պնդել!(root.inner_text()? == «բարև աշխարհ»);
անապահով {
թող իրադարձություն = CreateEventW(
std::ptr::null_mut(),
true.into(),
false.into(),
std::ptr::null(),
);
SetEvent(իրադարձություն).ok();
WaitForSingleObject (իրադարձություն, 0);
CloseHandle(իրադարձություն).ok();
}
Լավ(())
}
Որոշ գործառույթների կանչեր օգտագործվում են ոչ անվտանգ, քանի որ այդ գործառույթները տրամադրվում են այնպես, ինչպես կան, առանց դրանք հարմարեցնելու Rust-ի կոնվենցիաներին: Crate-ը նախագծված է նույն սկզբունքով։ libc, որը ծառայում է որպես հիմնական տուփ libc մուտք գործելու համար և օգտագործվում է որպես անվտանգ միջերեսով գրադարաններ կառուցելու հիմք։
Նախագիծը ստեղծվել է շրջանակներում Win32 մետատվյալների նախագիծ, որը նախատեսված է տարբեր ծրագրավորման լեզուների համար API-ների ստեղծումը հեշտացնելու համար։ Երկրորդ գրադարանը, որը ստեղծվել է ծրագրի առաջին փուլում Մետատվյալների նախագծի հիման վրա. C#/Win32. Աշխատանքների մեկնարկի մասին հայտարարել է նաև Microsoft-ը տարբերակը C++-ի համար, որն օգտագործում է ժամանակակից լեզվական ոճ։
Source: linux.org.ru