annotate win32/winver.d @ 1:4a9dcbd9e54f

-files of 0.13 beta -fixes so that it now compiles with the current dmd version
author marton@basel.hu
date Tue, 05 Apr 2011 20:44:01 +0200
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
1 /***********************************************************************\
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
2 * winver.d *
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
3 * *
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
4 * Windows API header module *
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
5 * *
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
6 * Translated from MinGW Windows headers *
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
7 * by Stewart Gordon *
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
8 * *
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
9 * Placed into public domain *
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
10 \***********************************************************************/
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
11 module win32.winver;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
12
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
13 private import win32.windef;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
14
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
15 // FIXME: type weirdness
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
16 enum {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
17 VS_FILE_INFO = 16,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
18 VS_VERSION_INFO = 1,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
19 VS_USER_DEFINED = 100
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
20 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
21
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
22 enum {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
23 VS_FFI_SIGNATURE = 0xFEEF04BD,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
24 VS_FFI_STRUCVERSION = 0x10000,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
25 VS_FFI_FILEFLAGSMASK = 0x3F
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
26 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
27
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
28 enum {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
29 VS_FF_DEBUG = 1,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
30 VS_FF_PRERELEASE = 2,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
31 VS_FF_PATCHED = 4,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
32 VS_FF_PRIVATEBUILD = 8,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
33 VS_FF_INFOINFERRED = 16,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
34 VS_FF_SPECIALBUILD = 32
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
35 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
36
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
37 enum {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
38 VOS_UNKNOWN = 0,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
39 VOS_DOS = 0x10000,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
40 VOS_OS216 = 0x20000,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
41 VOS_OS232 = 0x30000,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
42 VOS_NT = 0x40000,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
43 VOS__BASE = 0,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
44 VOS__WINDOWS16 = 1,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
45 VOS__PM16 = 2,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
46 VOS__PM32 = 3,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
47 VOS__WINDOWS32 = 4,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
48 VOS_DOS_WINDOWS16 = 0x10001,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
49 VOS_DOS_WINDOWS32 = 0x10004,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
50 VOS_OS216_PM16 = 0x20002,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
51 VOS_OS232_PM32 = 0x30003,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
52 VOS_NT_WINDOWS32 = 0x40004
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
53 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
54
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
55 enum {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
56 VFT_UNKNOWN = 0,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
57 VFT_APP = 1,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
58 VFT_DLL = 2,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
59 VFT_DRV = 3,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
60 VFT_FONT = 4,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
61 VFT_VXD = 5,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
62 VFT_STATIC_LIB = 7
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
63 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
64
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
65 enum {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
66 VFT2_UNKNOWN = 0,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
67 VFT2_DRV_PRINTER = 1,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
68 VFT2_DRV_KEYBOARD = 2,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
69 VFT2_DRV_LANGUAGE = 3,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
70 VFT2_DRV_DISPLAY = 4,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
71 VFT2_DRV_MOUSE = 5,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
72 VFT2_DRV_NETWORK = 6,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
73 VFT2_DRV_SYSTEM = 7,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
74 VFT2_DRV_INSTALLABLE = 8,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
75 VFT2_DRV_SOUND = 9,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
76 VFT2_DRV_COMM = 10,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
77 VFT2_DRV_INPUTMETHOD = 11,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
78 VFT2_FONT_RASTER = 1,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
79 VFT2_FONT_VECTOR = 2,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
80 VFT2_FONT_TRUETYPE = 3
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
81 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
82
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
83 enum : DWORD {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
84 VFFF_ISSHAREDFILE = 1
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
85 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
86
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
87 enum : DWORD {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
88 VFF_CURNEDEST = 1,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
89 VFF_FILEINUSE = 2,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
90 VFF_BUFFTOOSMALL = 4
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
91 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
92
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
93 enum : DWORD {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
94 VIFF_FORCEINSTALL = 1,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
95 VIFF_DONTDELETEOLD
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
96 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
97
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
98 enum {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
99 VIF_TEMPFILE = 0x00001,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
100 VIF_MISMATCH = 0x00002,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
101 VIF_SRCOLD = 0x00004,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
102 VIF_DIFFLANG = 0x00008,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
103 VIF_DIFFCODEPG = 0x00010,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
104 VIF_DIFFTYPE = 0x00020,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
105 VIF_WRITEPROT = 0x00040,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
106 VIF_FILEINUSE = 0x00080,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
107 VIF_OUTOFSPACE = 0x00100,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
108 VIF_ACCESSVIOLATION = 0x00200,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
109 VIF_SHARINGVIOLATION = 0x00400,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
110 VIF_CANNOTCREATE = 0x00800,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
111 VIF_CANNOTDELETE = 0x01000,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
112 VIF_CANNOTRENAME = 0x02000,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
113 VIF_CANNOTDELETECUR = 0x04000,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
114 VIF_OUTOFMEMORY = 0x08000,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
115 VIF_CANNOTREADSRC = 0x10000,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
116 VIF_CANNOTREADDST = 0x20000,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
117 VIF_BUFFTOOSMALL = 0x40000
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
118 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
119
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
120 struct VS_FIXEDFILEINFO {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
121 DWORD dwSignature;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
122 DWORD dwStrucVersion;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
123 DWORD dwFileVersionMS;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
124 DWORD dwFileVersionLS;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
125 DWORD dwProductVersionMS;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
126 DWORD dwProductVersionLS;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
127 DWORD dwFileFlagsMask;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
128 DWORD dwFileFlags;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
129 DWORD dwFileOS;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
130 DWORD dwFileType;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
131 DWORD dwFileSubtype;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
132 DWORD dwFileDateMS;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
133 DWORD dwFileDateLS;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
134 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
135
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
136 extern (Windows) {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
137 DWORD VerFindFileA(DWORD, LPSTR, LPSTR, LPSTR, LPSTR, PUINT, LPSTR,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
138 PUINT);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
139 DWORD VerFindFileW(DWORD, LPWSTR, LPWSTR, LPWSTR, LPWSTR, PUINT, LPWSTR,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
140 PUINT);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
141 DWORD VerInstallFileA(DWORD, LPSTR, LPSTR, LPSTR, LPSTR, LPSTR, LPSTR,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
142 PUINT);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
143 DWORD VerInstallFileW(DWORD, LPWSTR, LPWSTR, LPWSTR, LPWSTR, LPWSTR,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
144 LPWSTR, PUINT);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
145 DWORD GetFileVersionInfoSizeA(LPSTR, PDWORD);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
146 DWORD GetFileVersionInfoSizeW(LPWSTR, PDWORD);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
147 BOOL GetFileVersionInfoA(LPSTR, DWORD, DWORD, PVOID);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
148 BOOL GetFileVersionInfoW(LPWSTR, DWORD, DWORD, PVOID);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
149 DWORD VerLanguageNameA(DWORD, LPSTR, DWORD);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
150 DWORD VerLanguageNameW(DWORD, LPWSTR, DWORD);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
151 BOOL VerQueryValueA(LPVOID, LPSTR, LPVOID*, PUINT);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
152 BOOL VerQueryValueW(LPVOID, LPWSTR, LPVOID*, PUINT);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
153 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
154
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
155 version (Unicode) {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
156 alias VerFindFileW VerFindFile;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
157 alias VerQueryValueW VerQueryValue;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
158 alias VerInstallFileW VerInstallFile;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
159 alias GetFileVersionInfoSizeW GetFileVersionInfoSize;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
160 alias GetFileVersionInfoW GetFileVersionInfo;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
161 alias VerLanguageNameW VerLanguageName;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
162 alias VerQueryValueW VerQueryValue;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
163 } else {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
164 alias VerQueryValueA VerQueryValue;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
165 alias VerFindFileA VerFindFile;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
166 alias VerInstallFileA VerInstallFile;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
167 alias GetFileVersionInfoSizeA GetFileVersionInfoSize;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
168 alias GetFileVersionInfoA GetFileVersionInfo;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
169 alias VerLanguageNameA VerLanguageName;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
170 alias VerQueryValueA VerQueryValue;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
171 }