เจฎเจพเจˆเจ•เฉเจฐเฉ‹เจธเจพเจซเจŸ เจจเฉ‡ เจตเจฟเฉฐเจกเฉ‹เจœเจผ API เจฒเจˆ เจ…เจงเจฟเจ•เจพเจฐเจค เจœเฉฐเจ—เจพเจฒ เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€ เจœเจพเจฐเฉ€ เจ•เฉ€เจคเฉ€ เจนเฉˆ

เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€ เจจเฉ‚เฉฐ เจเจฎเจ†เจˆเจŸเฉ€ เจฒเจพเจ‡เจธเฉˆเจ‚เจธ เจฆเฉ‡ เจคเจนเจฟเจค เจ‡เฉฑเจ• เจœเฉฐเจ—เจพเจฒ เจฆเฉ‡ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจคเจฟเจ†เจฐ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ, เจœเจฟเจธเจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚ เจ•เฉ€เจคเฉ€ เจœเจพ เจธเจ•เจฆเฉ€ เจนเฉˆ:

[เจจเจฟเจฐเจญเจฐเจคเจพ] เจตเจฟเฉฐเจกเฉ‹เจœเจผ = "0.2.1"

[เจฌเจฟเจฒเจก-เจจเจฟเจฐเจญเจฐเจคเจพ] เจตเจฟเฉฐเจกเฉ‹เจœเจผ = "0.2.1"

เจ‡เจธ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, build.rs เจฌเจฟเจฒเจก เจธเจ•เฉเจฐเจฟเจชเจŸ เจตเจฟเฉฑเจš, เจคเฉเจธเฉ€เจ‚ เจ‰เจน เจฎเฉ‹เจกเฉ€เจŠเจฒ เจคเจฟเจ†เจฐ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹ เจœเฉ‹ เจคเฉเจนเจพเจกเฉ€ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจฒเจˆ เจฒเฉ‹เฉœเฉ€เจ‚เจฆเฉ‡ เจนเจจ:

fn main() {
เจตเจฟเฉฐเจกเฉ‹เจœเจผ ::เจฌเจฟเจฒเจก!(
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()?;
}

เจ เฉ€เจ• เจนเฉˆ(())
}

เจ•เฉเจ เจซเฉฐเจ•เจธเจผเจจ เจ•เจพเจฒเจพเจ‚ เจ…เจธเฉเจฐเฉฑเจ–เจฟเจ…เจค เจตเจฐเจคเจฆเฉ€เจ†เจ‚ เจนเจจ เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ‡เจน เจซเฉฐเจ•เจธเจผเจจ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจฐเจธเจŸ เจ•เจจเจตเฉˆเจจเจธเจผเจจเจพเจ‚ เจฆเฉ‡ เจ…เจจเฉเจ•เฉ‚เจฒ เจฌเจฃเจพเจ เจฌเจฟเจจเจพเจ‚, เจœเจฟเจตเฉ‡เจ‚ เจนเฉˆ, เจชเฉเจฐเจฆเจพเจจ เจ•เฉ€เจคเฉ‡ เจœเจพเจ‚เจฆเฉ‡ เจนเจจเฅค เจ•เจฐเฉ‡เจŸ เจ‰เจธเฉ‡ เจธเจฟเจงเจพเจ‚เจค 'เจคเฉ‡ เจคเจฟเจ†เจฐ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ. libc, เจœเฉ‹ เจ•เจฟ libc เจคเฉฑเจ• เจชเจนเฉเฉฐเจš เจ•เจฐเจจ เจฒเจˆ เจ‡เฉฑเจ• เจฎเฉเจขเจฒเฉ‡ เจ•เจฐเฉ‡เจŸ เจตเจœเฉ‹เจ‚ เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจ‡เฉฑเจ• เจธเฉเจฐเฉฑเจ–เจฟเจ…เจค เจ‡เฉฐเจŸเจฐเจซเฉ‡เจธ เจจเจพเจฒ เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€เจ†เจ‚ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ เจ‡เฉฑเจ• เจ…เจงเจพเจฐ เจตเจœเฉ‹เจ‚ เจตเจฐเจคเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค


เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจซเจฐเฉ‡เจฎเจตเจฐเจ• เจฆเฉ‡ เจ…เฉฐเจฆเจฐ เจฌเจฃเจพเจ‡เจ† เจ—เจฟเจ† เจธเฉ€ Win32 เจฎเฉˆเจŸเจพเจกเฉ‡เจŸเจพ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ, เจœเฉ‹ เจ•เจฟ เจตเฉฑเจ–-เจตเฉฑเจ– เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจฟเฉฐเจ— เจญเจพเจธเจผเจพเจตเจพเจ‚ เจฒเจˆ API เจฌเจฃเจพเจ‰เจฃเจพ เจ†เจธเจพเจจ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ เจคเจฟเจ†เจฐ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆเฅค เจฆเฉ‚เจœเฉ€ เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€, เจœเฉ‹ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจฆเฉ‡ เจชเจนเจฟเจฒเฉ‡ เจชเฉœเจพเจ… เจตเจฟเฉฑเจš เจฎเฉˆเจŸเจพเจกเฉ‡เจŸเจพ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจฆเฉ‡ เจ…เจงเจพเจฐ เจคเฉ‡ เจฌเจฃเจพเจˆ เจ—เจˆ เจธเฉ€ - C#/Win32. เจฎเจพเจˆเจ•เฉเจฐเฉ‹เจธเจพเจซเจŸ เจจเฉ‡ เจตเฉ€ เจ•เฉฐเจฎ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเจจ เจฆเจพ เจเจฒเจพเจจ เจ•เฉ€เจคเจพ เจนเฉˆ C++ เจฒเจˆ เจธเฉฐเจธเจ•เจฐเจฃ, เจœเฉ‹ เจญเจพเจธเจผเจพ เจฆเฉ€ เจ‡เฉฑเจ• เจ†เจงเฉเจจเจฟเจ• เจธเจผเฉˆเจฒเฉ€ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเจพ เจนเฉˆเฅค

เจธเจฐเฉ‹เจค: linux.org.ru