// Calling this with null buffer will retrieve the required buffer length let success = unsafe {
GetUserPreferredUILanguages(
MUI_LANGUAGE_NAME,
&mut num_languages,
core::ptr::null_mut(),
&mut buffer_length,
)
} == TRUE; if !success { return Vec::new().into_iter();
}
letmut buffer = Vec::<u16>::new();
buffer.resize(buffer_length as usize, 0);
// Now that we have an appropriate buffer, we can query the names letmut result = Vec::with_capacity(num_languages as usize); let success = unsafe {
GetUserPreferredUILanguages(
MUI_LANGUAGE_NAME,
&mut num_languages,
buffer.as_mut_ptr(),
&mut buffer_length,
)
} == TRUE;
if success { // The buffer contains names split by null char (0), and ends with two null chars (00) for part in buffer.split(|i| *i == 0).filter(|p| !p.is_empty()) { iflet Ok(locale) = String::from_utf16(part) {
result.push(locale);
}
}
}
result.into_iter()
}
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.11 Sekunden
(vorverarbeitet am 2026-06-18)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.