#[repr(C)]pub enum VerQueryValueA<'a> {
Root(&'a VSFixedFileInfo),
VarFileInfo(&'a LangAndCodePage),
StringFileInfo(ManuallyDrop<AString>),
}Variants§
Implementations§
Source§impl<'a> VerQueryValueA<'a>
impl<'a> VerQueryValueA<'a>
Sourcepub fn as_root(&self) -> &VSFixedFileInfo
pub fn as_root(&self) -> &VSFixedFileInfo
§Examples
use winwrap::um::winver::*;
use winwrap::string::*;
let file_name = AString::from("ntdll.dll");
let len = get_file_version_info_size_a(&file_name).unwrap();
let x = get_file_version_info_a(&file_name, len).unwrap();
let root = ver_query_value_a(&x, VerQuerySubBlock::Root).unwrap();
println!("{:?}", root.as_root());Sourcepub fn as_var_file_info(&self) -> &LangAndCodePage
pub fn as_var_file_info(&self) -> &LangAndCodePage
§examples
use winwrap::um::winver::*;
use winwrap::string::*;
let file_name = AString::from("ntdll.dll");
let len = get_file_version_info_size_a(&file_name).unwrap();
let x = get_file_version_info_a(&file_name, len).unwrap();
let vfi = ver_query_value_a(&x, VerQuerySubBlock::VarFileInfo).unwrap();
println!("{:?}", vfi.as_var_file_info());Sourcepub fn as_string_file_info(&self) -> &ManuallyDrop<AString>
pub fn as_string_file_info(&self) -> &ManuallyDrop<AString>
§examples
use winwrap::um::winver::*;
use winwrap::string::*;
let file_name = AString::from("ntdll.dll");
let len = get_file_version_info_size_a(&file_name).unwrap();
let x = get_file_version_info_a(&file_name, len).unwrap();
let vfi = ver_query_value_a(&x, VerQuerySubBlock::VarFileInfo).unwrap();
let vfi = vfi.as_var_file_info();
let (language, code_page) = (vfi.language, vfi.code_page);
let sfi = ver_query_value_a(
&x,
VerQuerySubBlock::StringFileInfo(language, code_page, "ProductVersion".to_string()),
).unwrap();
println!("{:?}", sfi.as_string_file_info().to_string_lossy());Trait Implementations§
Source§impl<'a> Debug for VerQueryValueA<'a>
impl<'a> Debug for VerQueryValueA<'a>
Source§impl<'a> Ord for VerQueryValueA<'a>
impl<'a> Ord for VerQueryValueA<'a>
Source§fn cmp(&self, other: &VerQueryValueA<'a>) -> Ordering
fn cmp(&self, other: &VerQueryValueA<'a>) -> Ordering
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
Source§impl<'a> PartialEq for VerQueryValueA<'a>
impl<'a> PartialEq for VerQueryValueA<'a>
Source§impl<'a> PartialOrd for VerQueryValueA<'a>
impl<'a> PartialOrd for VerQueryValueA<'a>
impl<'a> Eq for VerQueryValueA<'a>
impl<'a> StructuralPartialEq for VerQueryValueA<'a>
Auto Trait Implementations§
impl<'a> Freeze for VerQueryValueA<'a>
impl<'a> RefUnwindSafe for VerQueryValueA<'a>
impl<'a> Send for VerQueryValueA<'a>
impl<'a> Sync for VerQueryValueA<'a>
impl<'a> Unpin for VerQueryValueA<'a>
impl<'a> UnsafeUnpin for VerQueryValueA<'a>
impl<'a> UnwindSafe for VerQueryValueA<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more