ห้องสมุดได้รับการออกแบบให้เป็นลังสนิมภายใต้ใบอนุญาต MIT ซึ่งสามารถใช้งานได้ดังนี้:
[การพึ่งพา] windows = "0.2.1" [สร้างการพึ่งพา] windows = "0.2.1"หลังจากนี้ ในสคริปต์บิลด์ build.rs คุณสามารถสร้างโมดูลที่จำเป็นสำหรับแอปพลิเคชันของคุณได้:
fnmain() {
หน้าต่าง::สร้าง!(
หน้าต่าง::ข้อมูล::xml::dom::*
windows::win32::system_services::{CreateEventW, SetEvent, WaitForSingleObject}
windows::win32::windows_programming::CloseHandle
);
}
เอกสารเกี่ยวกับโมดูลที่มีอยู่มีการเผยแพร่บน เอกสาร.อาร์เอส.
รหัสตัวอย่าง:
การผูก mod {
::windows::include_bindings!();
}
ใช้การผูก::{
หน้าต่าง::ข้อมูล::xml::dom::*,
windows::win32::system_services::{CreateEventW, SetEvent, WaitForSingleObject},
windows::win32::windows_programming::CloseHandle,
};
fn main() -> windows::Result<()> {
ให้ doc = XmlDocument::new()?;
doc.load_xml(" สวัสดีชาวโลก ")?;
ให้ root = doc.document_element()?;
ยืนยัน!(root.node_name()? == "html");
assert!(root.inner_text()? == "สวัสดีชาวโลก");
ไม่ปลอดภัย {
ให้เหตุการณ์ = CreateEventW(
มาตรฐาน::ptr::null_mut()
true.into()
false.into()
มาตรฐาน::ptr::null()
);
SetEvent(เหตุการณ์).ตกลง()?;
WaitForSingleObject (เหตุการณ์ 0);
CloseHandle(เหตุการณ์).ตกลง()?;
}
ตกลง(())
}
การเรียกใช้ฟังก์ชันบางอย่างใช้ไม่ปลอดภัย เนื่องจากฟังก์ชันเหล่านี้มีให้ตามที่เป็นอยู่ โดยไม่ต้องปรับให้เข้ากับแบบแผนของ Rust ลังได้รับการออกแบบบนหลักการเดียวกัน libcซึ่งทำหน้าที่เป็นลังพื้นฐานสำหรับการเข้าถึง libc และใช้เป็นพื้นฐานสำหรับการสร้างไลบรารีด้วยอินเทอร์เฟซที่ปลอดภัย
โครงการถูกสร้างขึ้นภายในกรอบ โครงการข้อมูลเมตา Win32ซึ่งได้รับการออกแบบมาเพื่อให้สร้าง API สำหรับภาษาการเขียนโปรแกรมต่างๆ ได้ง่ายขึ้น ห้องสมุดที่สองซึ่งสร้างขึ้นตามโครงการ Metadata ในเฟสแรกของโครงการ - C#/Win32. ไมโครซอฟต์ยังประกาศเริ่มงานเมื่อ เวอร์ชันสำหรับ C++ซึ่งใช้ภาษารูปแบบสมัยใหม่
ที่มา: linux.org.ru