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 7 use ctypes::c_void; 8 use shared::minwindef::{BOOL, DWORD, LPCVOID, LPVOID, PUINT}; 9 use um::winnt::{LPCSTR, LPCWSTR, LPSTR, LPWSTR}; 10 extern "system" { GetFileVersionInfoSizeA( lptstrFilename: LPCSTR, lpdwHandle: *mut DWORD, ) -> DWORD11 pub fn GetFileVersionInfoSizeA( 12 lptstrFilename: LPCSTR, 13 lpdwHandle: *mut DWORD, 14 ) -> DWORD; GetFileVersionInfoSizeW( lptstrFilename: LPCWSTR, lpdwHandle: *mut DWORD, ) -> DWORD15 pub fn GetFileVersionInfoSizeW( 16 lptstrFilename: LPCWSTR, 17 lpdwHandle: *mut DWORD, 18 ) -> DWORD; GetFileVersionInfoA( lptstrFilename: LPCSTR, dwHandle: DWORD, dwLen: DWORD, lpData: *mut c_void, ) -> BOOL19 pub fn GetFileVersionInfoA( 20 lptstrFilename: LPCSTR, 21 dwHandle: DWORD, 22 dwLen: DWORD, 23 lpData: *mut c_void, 24 ) -> BOOL; GetFileVersionInfoW( lptstrFilename: LPCWSTR, dwHandle: DWORD, dwLen: DWORD, lpData: *mut c_void, ) -> BOOL25 pub fn GetFileVersionInfoW( 26 lptstrFilename: LPCWSTR, 27 dwHandle: DWORD, 28 dwLen: DWORD, 29 lpData: *mut c_void, 30 ) -> BOOL; VerQueryValueA( pBlock: LPCVOID, lpSubBlock: LPCSTR, lplpBuffer: &mut LPVOID, puLen: PUINT, ) -> BOOL31 pub fn VerQueryValueA( 32 pBlock: LPCVOID, 33 lpSubBlock: LPCSTR, 34 lplpBuffer: &mut LPVOID, 35 puLen: PUINT, 36 ) -> BOOL; VerQueryValueW( pBlock: LPCVOID, lpSubBlock: LPCWSTR, lplpBuffer: &mut LPVOID, puLen: PUINT, ) -> BOOL37 pub fn VerQueryValueW( 38 pBlock: LPCVOID, 39 lpSubBlock: LPCWSTR, 40 lplpBuffer: &mut LPVOID, 41 puLen: PUINT, 42 ) -> BOOL; VerLanguageNameA( wLang: DWORD, szLang: LPSTR, cchLang: DWORD, ) -> DWORD43 pub fn VerLanguageNameA( 44 wLang: DWORD, 45 szLang: LPSTR, 46 cchLang: DWORD, 47 ) -> DWORD; VerLanguageNameW( wLang: DWORD, szLang: LPWSTR, cchLang: DWORD, ) -> DWORD48 pub fn VerLanguageNameW( 49 wLang: DWORD, 50 szLang: LPWSTR, 51 cchLang: DWORD, 52 ) -> DWORD; 53 } 54