Microsoft ونڊوز API لاءِ سرڪاري رسٽ لائبريري جاري ڪئي آهي

لائبريري MIT لائسنس جي تحت مورچا ڪرٽ جي طور تي ٺهيل آهي، جنهن کي هن طرح استعمال ڪري سگهجي ٿو:

[dependencies] windows = "0.2.1"

[build-dependencies] windows = "0.2.1"

ان کان پوء، build.rs تعمير اسڪرپٽ ۾، توهان ماڊل ٺاهي سگهو ٿا جيڪي توهان جي ايپليڪيشن لاء گهربل آهن:

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

دستياب ماڊلز بابت دستاويز شايع ٿيل آهي تي docs.rs.

نموني ڪوڊ:

موڊ پابند {
::windows::include_bindings!();
}

پابنديون استعمال ڪريو::{
windows::data::xml::dom::*,
windows::win32::system_services::{CreateEventW، SetEvent، WaitForSingleObject}،
windows::win32::windows_programming::CloseHandle,
};

fn main() -> windows::Result<()> {
let doc = XmlDocument::new()؟
doc.load_xml(" هيلو دنيا ")؟

let root = doc.document_element()؟
assert!(root.node_name()? == "html");
assert!(root.inner_text()? == "هيلو ورلڊ")؛

غير محفوظ {
let event = CreateEventW(
std::ptr::null_mut()،
true.into(),
false.into(),
std::ptr::null(),
);

SetEvent(event).OK()؟;
WaitForSingleObject(واقعي، 0)؛
CloseHandle(event).OK()؟;
}

ٺيڪ(())
}

ڪجهه فنڪشن ڪالون غير محفوظ استعمال ڪن ٿيون ڇو ته اهي فنڪشن مهيا ڪيا ويا آهن، انهن کي زنگ ڪنوينشن کي ترتيب ڏيڻ کان سواء. Crate ساڳئي اصول تي ٺهيل آهي. ليبر، جيڪو libc تائين رسائي لاءِ بنيادي ڪرٽ طور ڪم ڪري ٿو ۽ هڪ محفوظ انٽرفيس سان لائبريريون ٺاهڻ لاءِ بنياد طور استعمال ڪيو ويندو آهي.


پروجيڪٽ فريم ورڪ اندر ٺاهي وئي Win32 Metadata پروجيڪٽ، جيڪا مختلف پروگرامنگ ٻولين لاءِ APIs ٺاهڻ کي آسان بڻائڻ لاءِ ٺهيل آهي. ٻي لائبريري، جيڪا منصوبي جي پهرين مرحلي ۾ ميٽا ڊيٽا پروجيڪٽ جي بنياد تي ٺاهي وئي هئي - سي#/Win32. Microsoft پڻ تي ڪم شروع ڪرڻ جو اعلان ڪيو نسخو C++ لاءِجيڪو جديد طرز جي ٻولي استعمال ڪري ٿو.

جو ذريعو: linux.org.ru