winapi_ui_automation/um/
winver.rs

1// Licensed under the Apache License, Version 2.0
2// <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
3// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option.
4// All files in the project carrying such notice may not be copied, modified, or distributed
5// except according to those terms
6//! Version management functions, types, and definitions
7use ctypes::c_void;
8use shared::minwindef::{BOOL, DWORD, LPCVOID, LPVOID, PUINT};
9use um::winnt::{LPCSTR, LPCWSTR, LPSTR, LPWSTR};
10extern "system" {
11    pub fn GetFileVersionInfoSizeA(
12        lptstrFilename: LPCSTR,
13        lpdwHandle: *mut DWORD,
14    ) -> DWORD;
15    pub fn GetFileVersionInfoSizeW(
16        lptstrFilename: LPCWSTR,
17        lpdwHandle: *mut DWORD,
18    ) -> DWORD;
19    pub fn GetFileVersionInfoA(
20        lptstrFilename: LPCSTR,
21        dwHandle: DWORD,
22        dwLen: DWORD,
23        lpData: *mut c_void,
24    ) -> BOOL;
25    pub fn GetFileVersionInfoW(
26        lptstrFilename: LPCWSTR,
27        dwHandle: DWORD,
28        dwLen: DWORD,
29        lpData: *mut c_void,
30    ) -> BOOL;
31    pub fn VerQueryValueA(
32        pBlock: LPCVOID,
33        lpSubBlock: LPCSTR,
34        lplpBuffer: &mut LPVOID,
35        puLen: PUINT,
36    ) -> BOOL;
37    pub fn VerQueryValueW(
38        pBlock: LPCVOID,
39        lpSubBlock: LPCWSTR,
40        lplpBuffer: &mut LPVOID,
41        puLen: PUINT,
42    ) -> BOOL;
43    pub fn VerLanguageNameA(
44        wLang: DWORD,
45        szLang: LPSTR,
46        cchLang: DWORD,
47    ) -> DWORD;
48    pub fn VerLanguageNameW(
49        wLang: DWORD,
50        szLang: LPWSTR,
51        cchLang: DWORD,
52    ) -> DWORD;
53}