Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
Interop.cs
Go to the documentation of this file.
1using System;
3
4internal static class Interop
5{
6 internal static class Version
7 {
8 internal struct VS_FIXEDFILEINFO
9 {
10 internal uint dwSignature;
11
12 internal uint dwStrucVersion;
13
14 internal uint dwFileVersionMS;
15
16 internal uint dwFileVersionLS;
17
18 internal uint dwProductVersionMS;
19
20 internal uint dwProductVersionLS;
21
22 internal uint dwFileFlagsMask;
23
24 internal uint dwFileFlags;
25
26 internal uint dwFileOS;
27
28 internal uint dwFileType;
29
30 internal uint dwFileSubtype;
31
32 internal uint dwFileDateMS;
33
34 internal uint dwFileDateLS;
35 }
36
37 [DllImport("version.dll", CharSet = CharSet.Unicode, EntryPoint = "GetFileVersionInfoExW")]
38 internal static extern bool GetFileVersionInfoEx(uint dwFlags, string lpwstrFilename, uint dwHandle, uint dwLen, IntPtr lpData);
39
40 [DllImport("version.dll", CharSet = CharSet.Unicode, EntryPoint = "GetFileVersionInfoSizeExW")]
41 internal static extern uint GetFileVersionInfoSizeEx(uint dwFlags, string lpwstrFilename, out uint lpdwHandle);
42
43 [DllImport("version.dll", CharSet = CharSet.Unicode, EntryPoint = "VerQueryValueW")]
44 internal static extern bool VerQueryValue(IntPtr pBlock, string lpSubBlock, out IntPtr lplpBuffer, out uint puLen);
45 }
46
47 internal static class Kernel32
48 {
49 [DllImport("kernel32.dll", CharSet = CharSet.Unicode, EntryPoint = "VerLanguageNameW")]
50 internal unsafe static extern int VerLanguageName(uint wLang, char* szLang, uint cchLang);
51 }
52}
static unsafe int VerLanguageName(uint wLang, char *szLang, uint cchLang)
static uint GetFileVersionInfoSizeEx(uint dwFlags, string lpwstrFilename, out uint lpdwHandle)
static bool GetFileVersionInfoEx(uint dwFlags, string lpwstrFilename, uint dwHandle, uint dwLen, IntPtr lpData)
static bool VerQueryValue(IntPtr pBlock, string lpSubBlock, out IntPtr lplpBuffer, out uint puLen)