Diff

Not logged in

Differences From Artifact [e2bb31df25854a97]:

To Artifact [4fd71adb18fd2e65]:


> 1 /***********************************************************************\ > 2 * winver.d * > 3 * * > 4 * Windows API header module * > 5 * * > 6 * Translated from MinGW Windows headers * > 7 * by Stewart Gordon * > 8 * * > 9 * Placed into public domain * > 10 \***********************************************************************/ 1 module win32.winver; 11 module win32.winver; 2 12 3 // Translated from Microsoft Platform SDK August 2001 Edition | 13 private import win32.windef; 4 // by Y.Tomino < > 14 > 15 // FIXME: type weirdness > 16 enum { > 17 VS_FILE_INFO = 16, > 18 VS_VERSION_INFO = 1, > 19 VS_USER_DEFINED = 100 > 20 } > 21 > 22 enum { > 23 VS_FFI_SIGNATURE = 0xFEEF04BD, > 24 VS_FFI_STRUCVERSION = 0x10000, > 25 VS_FFI_FILEFLAGSMASK = 0x3F > 26 } 5 27 6 import win32.winuser; | 28 enum { > 29 VS_FF_DEBUG = 1, > 30 VS_FF_PRERELEASE = 2, > 31 VS_FF_PATCHED = 4, > 32 VS_FF_PRIVATEBUILD = 8, > 33 VS_FF_INFOINFERRED = 16, > 34 VS_FF_SPECIALBUILD = 32 > 35 } 7 36 8 // #ifndef VER_H | 37 enum { 9 // #define VER_H | 38 VOS_UNKNOWN = 0, > 39 VOS_DOS = 0x10000, > 40 VOS_OS216 = 0x20000, > 41 VOS_OS232 = 0x30000, > 42 VOS_NT = 0x40000, > 43 VOS__BASE = 0, > 44 VOS__WINDOWS16 = 1, > 45 VOS__PM16 = 2, > 46 VOS__PM32 = 3, > 47 VOS__WINDOWS32 = 4, > 48 VOS_DOS_WINDOWS16 = 0x10001, > 49 VOS_DOS_WINDOWS32 = 0x10004, > 50 VOS_OS216_PM16 = 0x20002, > 51 VOS_OS232_PM32 = 0x30003, > 52 VOS_NT_WINDOWS32 = 0x40004 > 53 } 10 54 11 // #ifdef __cplusplus | 55 enum { 12 // extern "C" { | 56 VFT_UNKNOWN = 0, 13 // #endif | 57 VFT_APP = 1, > 58 VFT_DLL = 2, > 59 VFT_DRV = 3, > 60 VFT_FONT = 4, > 61 VFT_VXD = 5, > 62 VFT_STATIC_LIB = 7 > 63 } 14 64 15 alias RT_VERSION VS_FILE_INFO; | 65 enum { 16 enum : uint { VS_VERSION_INFO = 1 } | 66 VFT2_UNKNOWN = 0, 17 enum : uint { VS_USER_DEFINED = 100 } | 67 VFT2_DRV_PRINTER = 1, > 68 VFT2_DRV_KEYBOARD = 2, > 69 VFT2_DRV_LANGUAGE = 3, > 70 VFT2_DRV_DISPLAY = 4, > 71 VFT2_DRV_MOUSE = 5, > 72 VFT2_DRV_NETWORK = 6, > 73 VFT2_DRV_SYSTEM = 7, > 74 VFT2_DRV_INSTALLABLE = 8, > 75 VFT2_DRV_SOUND = 9, > 76 VFT2_DRV_COMM = 10, > 77 VFT2_DRV_INPUTMETHOD = 11, > 78 VFT2_FONT_RASTER = 1, > 79 VFT2_FONT_VECTOR = 2, > 80 VFT2_FONT_TRUETYPE = 3 > 81 } 18 82 19 // #ifndef _MAC | 83 enum : DWORD { 20 enum : uint { VS_FFI_SIGNATURE = 0xFEEF04BD } | 84 VFFF_ISSHAREDFILE = 1 21 // #else < 22 // #... < 23 // #endif < 24 enum : uint { VS_FFI_STRUCVERSION = 0x00010000 } < 25 enum : uint { VS_FFI_FILEFLAGSMASK = 0x0000003F } < > 85 } 26 86 27 enum : uint { VS_FF_DEBUG = 0x00000001 } | 87 enum : DWORD { 28 enum : uint { VS_FF_PRERELEASE = 0x00000002 } | 88 VFF_CURNEDEST = 1, 29 enum : uint { VS_FF_PATCHED = 0x00000004 } | 89 VFF_FILEINUSE = 2, 30 enum : uint { VS_FF_PRIVATEBUILD = 0x00000008 } | 90 VFF_BUFFTOOSMALL = 4 31 enum : uint { VS_FF_INFOINFERRED = 0x00000010 } < 32 enum : uint { VS_FF_SPECIALBUILD = 0x00000020 } < 33 | 91 } 34 enum : uint { VOS_UNKNOWN = 0x00000000 } < 35 enum : uint { VOS_DOS = 0x00010000 } < 36 enum : uint { VOS_OS216 = 0x00020000 } < 37 enum : uint { VOS_OS232 = 0x00030000 } < 38 enum : uint { VOS_NT = 0x00040000 } < 39 92 40 enum : uint { VOS__BASE = 0x00000000 } | 93 enum : DWORD { 41 enum : uint { VOS__WINDOWS16 = 0x00000001 } | 94 VIFF_FORCEINSTALL = 1, 42 enum : uint { VOS__PM16 = 0x00000002 } | 95 VIFF_DONTDELETEOLD 43 enum : uint { VOS__PM32 = 0x00000003 } < 44 enum : uint { VOS__WINDOWS32 = 0x00000004 } < 45 | 96 } 46 enum : uint { VOS_DOS_WINDOWS16 = 0x00010001 } < 47 enum : uint { VOS_DOS_WINDOWS32 = 0x00010004 } < 48 enum : uint { VOS_OS216_PM16 = 0x00020002 } < 49 enum : uint { VOS_OS232_PM32 = 0x00030003 } < 50 enum : uint { VOS_NT_WINDOWS32 = 0x00040004 } < 51 97 52 enum : uint { VFT_UNKNOWN = 0x00000000 } | 98 enum { 53 enum : uint { VFT_APP = 0x00000001 } | 99 VIF_TEMPFILE = 0x00001, 54 enum : uint { VFT_DLL = 0x00000002 } | 100 VIF_MISMATCH = 0x00002, 55 enum : uint { VFT_DRV = 0x00000003 } | 101 VIF_SRCOLD = 0x00004, 56 enum : uint { VFT_FONT = 0x00000004 } | 102 VIF_DIFFLANG = 0x00008, 57 enum : uint { VFT_VXD = 0x00000005 } | 103 VIF_DIFFCODEPG = 0x00010, 58 enum : uint { VFT_STATIC_LIB = 0x00000007 } | 104 VIF_DIFFTYPE = 0x00020, > 105 VIF_WRITEPROT = 0x00040, > 106 VIF_FILEINUSE = 0x00080, > 107 VIF_OUTOFSPACE = 0x00100, > 108 VIF_ACCESSVIOLATION = 0x00200, > 109 VIF_SHARINGVIOLATION = 0x00400, > 110 VIF_CANNOTCREATE = 0x00800, > 111 VIF_CANNOTDELETE = 0x01000, > 112 VIF_CANNOTRENAME = 0x02000, > 113 VIF_CANNOTDELETECUR = 0x04000, > 114 VIF_OUTOFMEMORY = 0x08000, > 115 VIF_CANNOTREADSRC = 0x10000, > 116 VIF_CANNOTREADDST = 0x20000, > 117 VIF_BUFFTOOSMALL = 0x40000 > 118 } 59 119 60 enum : uint { VFT2_UNKNOWN = 0x00000000 } | 120 struct VS_FIXEDFILEINFO { 61 enum : uint { VFT2_DRV_PRINTER = 0x00000001 } | 121 DWORD dwSignature; 62 enum : uint { VFT2_DRV_KEYBOARD = 0x00000002 } | 122 DWORD dwStrucVersion; 63 enum : uint { VFT2_DRV_LANGUAGE = 0x00000003 } | 123 DWORD dwFileVersionMS; 64 enum : uint { VFT2_DRV_DISPLAY = 0x00000004 } | 124 DWORD dwFileVersionLS; 65 enum : uint { VFT2_DRV_MOUSE = 0x00000005 } | 125 DWORD dwProductVersionMS; 66 enum : uint { VFT2_DRV_NETWORK = 0x00000006 } | 126 DWORD dwProductVersionLS; 67 enum : uint { VFT2_DRV_SYSTEM = 0x00000007 } | 127 DWORD dwFileFlagsMask; 68 enum : uint { VFT2_DRV_INSTALLABLE = 0x00000008 } | 128 DWORD dwFileFlags; 69 enum : uint { VFT2_DRV_SOUND = 0x00000009 } | 129 DWORD dwFileOS; 70 enum : uint { VFT2_DRV_COMM = 0x0000000A } | 130 DWORD dwFileType; 71 enum : uint { VFT2_DRV_INPUTMETHOD = 0x0000000B } | 131 DWORD dwFileSubtype; 72 enum : uint { VFT2_DRV_VERSIONED_PRINTER = 0x0000000C } | 132 DWORD dwFileDateMS; > 133 DWORD dwFileDateLS; 73 | 134 } 74 enum : uint { VFT2_FONT_RASTER = 0x00000001 } < 75 enum : uint { VFT2_FONT_VECTOR = 0x00000002 } < 76 enum : uint { VFT2_FONT_TRUETYPE = 0x00000003 } < 77 < 78 enum : uint { VFFF_ISSHAREDFILE = 0x0001 } < 79 < 80 enum : uint { VFF_CURNEDEST = 0x0001 } < 81 enum : uint { VFF_FILEINUSE = 0x0002 } < 82 enum : uint { VFF_BUFFTOOSMALL = 0x0004 } < 83 < 84 enum : uint { VIFF_FORCEINSTALL = 0x0001 } < 85 enum : uint { VIFF_DONTDELETEOLD = 0x0002 } < 86 < 87 enum : uint { VIF_TEMPFILE = 0x00000001 } < 88 enum : uint { VIF_MISMATCH = 0x00000002 } < 89 enum : uint { VIF_SRCOLD = 0x00000004 } < 90 < 91 enum : uint { VIF_DIFFLANG = 0x00000008 } < 92 enum : uint { VIF_DIFFCODEPG = 0x00000010 } < 93 enum : uint { VIF_DIFFTYPE = 0x00000020 } < 94 < 95 enum : uint { VIF_WRITEPROT = 0x00000040 } < 96 enum : uint { VIF_FILEINUSE = 0x00000080 } < 97 enum : uint { VIF_OUTOFSPACE = 0x00000100 } < 98 enum : uint { VIF_ACCESSVIOLATION = 0x00000200 } < 99 enum : uint { VIF_SHARINGVIOLATION = 0x00000400 } < 100 enum : uint { VIF_CANNOTCREATE = 0x00000800 } < 101 enum : uint { VIF_CANNOTDELETE = 0x00001000 } < 102 enum : uint { VIF_CANNOTRENAME = 0x00002000 } < 103 enum : uint { VIF_CANNOTDELETECUR = 0x00004000 } < 104 enum : uint { VIF_OUTOFMEMORY = 0x00008000 } < 105 < 106 enum : uint { VIF_CANNOTREADSRC = 0x00010000 } < 107 enum : uint { VIF_CANNOTREADDST = 0x00020000 } < 108 < 109 enum : uint { VIF_BUFFTOOSMALL = 0x00040000 } < 110 enum : uint { VIF_CANNOTLOADLZ32 = 0x00080000 } < 111 enum : uint { VIF_CANNOTLOADCABINET = 0x00100000 } < 112 135 113 // #ifndef RC_INVOKED /* RC doesn't need to see the rest of this */ | 136 extern (Windows) { 114 < > 137 DWORD VerFindFileA(DWORD, LPCSTR, LPCSTR, LPCSTR, LPSTR, PUINT, LPSTR, 115 struct tagVS_FIXEDFILEINFO { | 138 PUINT); 116 DWORD dwSignature; | 139 DWORD VerFindFileW(DWORD, LPCWSTR, LPCWSTR, LPCWSTR, LPWSTR, PUINT, LPWS 117 DWORD dwStrucVersion; < > 140 PUINT); 118 DWORD dwFileVersionMS; | 141 DWORD VerInstallFileA(DWORD, LPCSTR, LPCSTR, LPCSTR, LPCSTR, LPCSTR, LPS 119 DWORD dwFileVersionLS; < > 142 PUINT); 120 DWORD dwProductVersionMS; | 143 DWORD VerInstallFileW(DWORD, LPCWSTR, LPCWSTR, LPCWSTR, LPCWSTR, LPCWSTR 121 DWORD dwProductVersionLS; | 144 LPWSTR, PUINT); 122 DWORD dwFileFlagsMask; | 145 DWORD GetFileVersionInfoSizeA(LPCSTR, PDWORD); 123 DWORD dwFileFlags; | 146 DWORD GetFileVersionInfoSizeW(LPCWSTR, PDWORD); 124 DWORD dwFileOS; | 147 BOOL GetFileVersionInfoA(LPCSTR, DWORD, DWORD, PVOID); 125 DWORD dwFileType; | 148 BOOL GetFileVersionInfoW(LPCWSTR, DWORD, DWORD, PVOID); 126 DWORD dwFileSubtype; | 149 DWORD VerLanguageNameA(DWORD, LPSTR, DWORD); 127 DWORD dwFileDateMS; | 150 DWORD VerLanguageNameW(DWORD, LPWSTR, DWORD); 128 DWORD dwFileDateLS; | 151 BOOL VerQueryValueA(LPCVOID, LPCSTR, LPVOID*, PUINT); > 152 BOOL VerQueryValueW(LPCVOID, LPCWSTR, LPVOID*, PUINT); 129 } 153 } 130 alias tagVS_FIXEDFILEINFO VS_FIXEDFILEINFO; < 131 154 132 extern(Windows) export DWORD VerFindFileA( | 155 version (Unicode) { 133 DWORD uFlags, < 134 LPSTR szFileName, < 135 LPSTR szWinDir, < 136 LPSTR szAppDir, < 137 LPSTR szCurDir, < 138 PUINT lpuCurDirLen, < 139 LPSTR szDestDir, < 140 PUINT lpuDestDirLen < 141 ); < 142 extern(Windows) export DWORD VerFindFileW( < 143 DWORD uFlags, < 144 LPWSTR szFileName, < 145 LPWSTR szWinDir, < 146 LPWSTR szAppDir, < 147 LPWSTR szCurDir, < 148 PUINT lpuCurDirLen, < 149 LPWSTR szDestDir, < 150 PUINT lpuDestDirLen < 151 ); < 152 // #ifdef UNICODE < 153 alias VerFindFileW VerFindFile; | 156 alias VerFindFileW VerFindFile; 154 // #else < 155 // #... < 156 // #endif // !UNICODE < 157 < 158 extern(Windows) export DWORD VerInstallFileA( < 159 DWORD uFlags, < 160 LPSTR szSrcFileName, < 161 LPSTR szDestFileName, < 162 LPSTR szSrcDir, < 163 LPSTR szDestDir, < 164 LPSTR szCurDir, < 165 LPSTR szTmpFile, < 166 PUINT lpuTmpFileLen < 167 ); < 168 extern(Windows) export DWORD VerInstallFileW( < 169 DWORD uFlags, < 170 LPWSTR szSrcFileName, < 171 LPWSTR szDestFileName, < 172 LPWSTR szSrcDir, < 173 LPWSTR szDestDir, < 174 LPWSTR szCurDir, < 175 LPWSTR szTmpFile, < 176 PUINT lpuTmpFileLen < 177 ); < 178 // #ifdef UNICODE < > 157 alias VerQueryValueW VerQueryValue; 179 alias VerInstallFileW VerInstallFile; | 158 alias VerInstallFileW VerInstallFile; 180 // #else < 181 // #... < 182 // #endif // !UNICODE < 183 < 184 extern(Windows) export DWORD GetFileVersionInfoSizeA( < 185 LPSTR lptstrFilename, < 186 LPDWORD lpdwHandle < 187 ); < 188 < 189 extern(Windows) export DWORD GetFileVersionInfoSizeW( < 190 LPWSTR lptstrFilename, < 191 LPDWORD lpdwHandle < 192 ); < 193 // #ifdef UNICODE < 194 alias GetFileVersionInfoSizeW GetFileVersionInfoSize; | 159 alias GetFileVersionInfoSizeW GetFileVersionInfoSize; 195 // #else < 196 // #... < 197 // #endif // !UNICODE < 198 < 199 extern(Windows) export BOOL GetFileVersionInfoA( < 200 LPSTR lptstrFilename, < 201 DWORD dwHandle, < 202 DWORD dwLen, < 203 LPVOID lpData < 204 ); < 205 < 206 extern(Windows) export BOOL GetFileVersionInfoW( < 207 LPWSTR lptstrFilename, < 208 DWORD dwHandle, < 209 DWORD dwLen, < 210 LPVOID lpData < 211 ); < 212 // #ifdef UNICODE < 213 alias GetFileVersionInfoW GetFileVersionInfo; | 160 alias GetFileVersionInfoW GetFileVersionInfo; 214 // #else < 215 // #... < 216 // #endif // !UNICODE < 217 < 218 extern(Windows) export DWORD VerLanguageNameA( < 219 DWORD wLang, < 220 LPSTR szLang, < 221 DWORD nSize < 222 ); < 223 extern(Windows) export DWORD VerLanguageNameW( < 224 DWORD wLang, < 225 LPWSTR szLang, < 226 DWORD nSize < 227 ); < 228 // #ifdef UNICODE < 229 alias VerLanguageNameW VerLanguageName; | 161 alias VerLanguageNameW VerLanguageName; 230 // #else < 231 // #... < 232 // #endif // !UNICODE < 233 < 234 extern(Windows) export BOOL VerQueryValueA( < 235 LPVOID pBlock, < 236 LPSTR lpSubBlock, < 237 LPVOID * lplpBuffer, < 238 PUINT puLen < 239 ); < 240 extern(Windows) export BOOL VerQueryValueW( < 241 LPVOID pBlock, < 242 LPWSTR lpSubBlock, < 243 LPVOID * lplpBuffer, < 244 PUINT puLen < 245 ); < 246 // #ifdef UNICODE < 247 alias VerQueryValueW VerQueryValue; | 162 alias VerQueryValueW VerQueryValue; 248 // #else | 163 } else { 249 // #... < 250 // #endif // !UNICODE < > 164 alias VerQueryValueA VerQueryValue; > 165 alias VerFindFileA VerFindFile; > 166 alias VerInstallFileA VerInstallFile; > 167 alias GetFileVersionInfoSizeA GetFileVersionInfoSize; > 168 alias GetFileVersionInfoA GetFileVersionInfo; > 169 alias VerLanguageNameA VerLanguageName; > 170 alias VerQueryValueA VerQueryValue; 251 | 171 } 252 // #endif /* !RC_INVOKED */ < 253 < 254 // #ifdef __cplusplus < 255 // } < 256 // #endif < 257 < 258 // #endif /* !VER_H */ < 259 <