c2b7a98c21 2011-02-23 kinaba: module win32.ansi.winver; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // Translated from Microsoft Platform SDK August 2001 Edition c2b7a98c21 2011-02-23 kinaba: // by Y.Tomino (demoonlit@inter7.jp) c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: import win32.ansi.winuser; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #ifndef VER_H c2b7a98c21 2011-02-23 kinaba: // #define VER_H c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #ifdef __cplusplus c2b7a98c21 2011-02-23 kinaba: // extern "C" { c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias RT_VERSION VS_FILE_INFO; c2b7a98c21 2011-02-23 kinaba: enum : uint { VS_VERSION_INFO = 1 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VS_USER_DEFINED = 100 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #ifndef _MAC c2b7a98c21 2011-02-23 kinaba: enum : uint { VS_FFI_SIGNATURE = 0xFEEF04BD } c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: enum : uint { VS_FFI_STRUCVERSION = 0x00010000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VS_FFI_FILEFLAGSMASK = 0x0000003F } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { VS_FF_DEBUG = 0x00000001 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VS_FF_PRERELEASE = 0x00000002 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VS_FF_PATCHED = 0x00000004 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VS_FF_PRIVATEBUILD = 0x00000008 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VS_FF_INFOINFERRED = 0x00000010 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VS_FF_SPECIALBUILD = 0x00000020 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { VOS_UNKNOWN = 0x00000000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VOS_DOS = 0x00010000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VOS_OS216 = 0x00020000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VOS_OS232 = 0x00030000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VOS_NT = 0x00040000 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { VOS__BASE = 0x00000000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VOS__WINDOWS16 = 0x00000001 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VOS__PM16 = 0x00000002 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VOS__PM32 = 0x00000003 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VOS__WINDOWS32 = 0x00000004 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { VOS_DOS_WINDOWS16 = 0x00010001 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VOS_DOS_WINDOWS32 = 0x00010004 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VOS_OS216_PM16 = 0x00020002 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VOS_OS232_PM32 = 0x00030003 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VOS_NT_WINDOWS32 = 0x00040004 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { VFT_UNKNOWN = 0x00000000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VFT_APP = 0x00000001 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VFT_DLL = 0x00000002 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VFT_DRV = 0x00000003 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VFT_FONT = 0x00000004 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VFT_VXD = 0x00000005 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VFT_STATIC_LIB = 0x00000007 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { VFT2_UNKNOWN = 0x00000000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VFT2_DRV_PRINTER = 0x00000001 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VFT2_DRV_KEYBOARD = 0x00000002 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VFT2_DRV_LANGUAGE = 0x00000003 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VFT2_DRV_DISPLAY = 0x00000004 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VFT2_DRV_MOUSE = 0x00000005 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VFT2_DRV_NETWORK = 0x00000006 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VFT2_DRV_SYSTEM = 0x00000007 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VFT2_DRV_INSTALLABLE = 0x00000008 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VFT2_DRV_SOUND = 0x00000009 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VFT2_DRV_COMM = 0x0000000A } c2b7a98c21 2011-02-23 kinaba: enum : uint { VFT2_DRV_INPUTMETHOD = 0x0000000B } c2b7a98c21 2011-02-23 kinaba: enum : uint { VFT2_DRV_VERSIONED_PRINTER = 0x0000000C } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { VFT2_FONT_RASTER = 0x00000001 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VFT2_FONT_VECTOR = 0x00000002 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VFT2_FONT_TRUETYPE = 0x00000003 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { VFFF_ISSHAREDFILE = 0x0001 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { VFF_CURNEDEST = 0x0001 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VFF_FILEINUSE = 0x0002 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VFF_BUFFTOOSMALL = 0x0004 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { VIFF_FORCEINSTALL = 0x0001 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VIFF_DONTDELETEOLD = 0x0002 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { VIF_TEMPFILE = 0x00000001 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VIF_MISMATCH = 0x00000002 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VIF_SRCOLD = 0x00000004 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { VIF_DIFFLANG = 0x00000008 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VIF_DIFFCODEPG = 0x00000010 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VIF_DIFFTYPE = 0x00000020 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { VIF_WRITEPROT = 0x00000040 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VIF_FILEINUSE = 0x00000080 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VIF_OUTOFSPACE = 0x00000100 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VIF_ACCESSVIOLATION = 0x00000200 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VIF_SHARINGVIOLATION = 0x00000400 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VIF_CANNOTCREATE = 0x00000800 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VIF_CANNOTDELETE = 0x00001000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VIF_CANNOTRENAME = 0x00002000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VIF_CANNOTDELETECUR = 0x00004000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VIF_OUTOFMEMORY = 0x00008000 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { VIF_CANNOTREADSRC = 0x00010000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VIF_CANNOTREADDST = 0x00020000 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { VIF_BUFFTOOSMALL = 0x00040000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VIF_CANNOTLOADLZ32 = 0x00080000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VIF_CANNOTLOADCABINET = 0x00100000 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #ifndef RC_INVOKED /* RC doesn't need to see the rest of this */ c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct tagVS_FIXEDFILEINFO { c2b7a98c21 2011-02-23 kinaba: DWORD dwSignature; c2b7a98c21 2011-02-23 kinaba: DWORD dwStrucVersion; c2b7a98c21 2011-02-23 kinaba: DWORD dwFileVersionMS; c2b7a98c21 2011-02-23 kinaba: DWORD dwFileVersionLS; c2b7a98c21 2011-02-23 kinaba: DWORD dwProductVersionMS; c2b7a98c21 2011-02-23 kinaba: DWORD dwProductVersionLS; c2b7a98c21 2011-02-23 kinaba: DWORD dwFileFlagsMask; c2b7a98c21 2011-02-23 kinaba: DWORD dwFileFlags; c2b7a98c21 2011-02-23 kinaba: DWORD dwFileOS; c2b7a98c21 2011-02-23 kinaba: DWORD dwFileType; c2b7a98c21 2011-02-23 kinaba: DWORD dwFileSubtype; c2b7a98c21 2011-02-23 kinaba: DWORD dwFileDateMS; c2b7a98c21 2011-02-23 kinaba: DWORD dwFileDateLS; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias tagVS_FIXEDFILEINFO VS_FIXEDFILEINFO; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: extern(Windows) export DWORD VerFindFileA( c2b7a98c21 2011-02-23 kinaba: DWORD uFlags, c2b7a98c21 2011-02-23 kinaba: LPSTR szFileName, c2b7a98c21 2011-02-23 kinaba: LPSTR szWinDir, c2b7a98c21 2011-02-23 kinaba: LPSTR szAppDir, c2b7a98c21 2011-02-23 kinaba: LPSTR szCurDir, c2b7a98c21 2011-02-23 kinaba: PUINT lpuCurDirLen, c2b7a98c21 2011-02-23 kinaba: LPSTR szDestDir, c2b7a98c21 2011-02-23 kinaba: PUINT lpuDestDirLen); c2b7a98c21 2011-02-23 kinaba: extern(Windows) export DWORD VerFindFileW( c2b7a98c21 2011-02-23 kinaba: DWORD uFlags, c2b7a98c21 2011-02-23 kinaba: LPWSTR szFileName, c2b7a98c21 2011-02-23 kinaba: LPWSTR szWinDir, c2b7a98c21 2011-02-23 kinaba: LPWSTR szAppDir, c2b7a98c21 2011-02-23 kinaba: LPWSTR szCurDir, c2b7a98c21 2011-02-23 kinaba: PUINT lpuCurDirLen, c2b7a98c21 2011-02-23 kinaba: LPWSTR szDestDir, c2b7a98c21 2011-02-23 kinaba: PUINT lpuDestDirLen); c2b7a98c21 2011-02-23 kinaba: // #ifdef UNICODE c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: alias VerFindFileA VerFindFile; c2b7a98c21 2011-02-23 kinaba: // #endif // !UNICODE c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: extern(Windows) export DWORD VerInstallFileA( c2b7a98c21 2011-02-23 kinaba: DWORD uFlags, c2b7a98c21 2011-02-23 kinaba: LPSTR szSrcFileName, c2b7a98c21 2011-02-23 kinaba: LPSTR szDestFileName, c2b7a98c21 2011-02-23 kinaba: LPSTR szSrcDir, c2b7a98c21 2011-02-23 kinaba: LPSTR szDestDir, c2b7a98c21 2011-02-23 kinaba: LPSTR szCurDir, c2b7a98c21 2011-02-23 kinaba: LPSTR szTmpFile, c2b7a98c21 2011-02-23 kinaba: PUINT lpuTmpFileLen); c2b7a98c21 2011-02-23 kinaba: extern(Windows) export DWORD VerInstallFileW( c2b7a98c21 2011-02-23 kinaba: DWORD uFlags, c2b7a98c21 2011-02-23 kinaba: LPWSTR szSrcFileName, c2b7a98c21 2011-02-23 kinaba: LPWSTR szDestFileName, c2b7a98c21 2011-02-23 kinaba: LPWSTR szSrcDir, c2b7a98c21 2011-02-23 kinaba: LPWSTR szDestDir, c2b7a98c21 2011-02-23 kinaba: LPWSTR szCurDir, c2b7a98c21 2011-02-23 kinaba: LPWSTR szTmpFile, c2b7a98c21 2011-02-23 kinaba: PUINT lpuTmpFileLen); c2b7a98c21 2011-02-23 kinaba: // #ifdef UNICODE c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: alias VerInstallFileA VerInstallFile; c2b7a98c21 2011-02-23 kinaba: // #endif // !UNICODE c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: extern(Windows) export DWORD GetFileVersionInfoSizeA( c2b7a98c21 2011-02-23 kinaba: LPSTR lptstrFilename, c2b7a98c21 2011-02-23 kinaba: LPDWORD lpdwHandle); c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: extern(Windows) export DWORD GetFileVersionInfoSizeW( c2b7a98c21 2011-02-23 kinaba: LPWSTR lptstrFilename, c2b7a98c21 2011-02-23 kinaba: LPDWORD lpdwHandle); c2b7a98c21 2011-02-23 kinaba: // #ifdef UNICODE c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: alias GetFileVersionInfoSizeA GetFileVersionInfoSize; c2b7a98c21 2011-02-23 kinaba: // #endif // !UNICODE c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: extern(Windows) export BOOL GetFileVersionInfoA( c2b7a98c21 2011-02-23 kinaba: LPSTR lptstrFilename, c2b7a98c21 2011-02-23 kinaba: DWORD dwHandle, c2b7a98c21 2011-02-23 kinaba: DWORD dwLen, c2b7a98c21 2011-02-23 kinaba: LPVOID lpData); c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: extern(Windows) export BOOL GetFileVersionInfoW( c2b7a98c21 2011-02-23 kinaba: LPWSTR lptstrFilename, c2b7a98c21 2011-02-23 kinaba: DWORD dwHandle, c2b7a98c21 2011-02-23 kinaba: DWORD dwLen, c2b7a98c21 2011-02-23 kinaba: LPVOID lpData); c2b7a98c21 2011-02-23 kinaba: // #ifdef UNICODE c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: alias GetFileVersionInfoA GetFileVersionInfo; c2b7a98c21 2011-02-23 kinaba: // #endif // !UNICODE c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: extern(Windows) export DWORD VerLanguageNameA( c2b7a98c21 2011-02-23 kinaba: DWORD wLang, c2b7a98c21 2011-02-23 kinaba: LPSTR szLang, c2b7a98c21 2011-02-23 kinaba: DWORD nSize); c2b7a98c21 2011-02-23 kinaba: extern(Windows) export DWORD VerLanguageNameW( c2b7a98c21 2011-02-23 kinaba: DWORD wLang, c2b7a98c21 2011-02-23 kinaba: LPWSTR szLang, c2b7a98c21 2011-02-23 kinaba: DWORD nSize); c2b7a98c21 2011-02-23 kinaba: // #ifdef UNICODE c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: alias VerLanguageNameA VerLanguageName; c2b7a98c21 2011-02-23 kinaba: // #endif // !UNICODE c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: extern(Windows) export BOOL VerQueryValueA( c2b7a98c21 2011-02-23 kinaba: LPVOID pBlock, c2b7a98c21 2011-02-23 kinaba: LPSTR lpSubBlock, c2b7a98c21 2011-02-23 kinaba: LPVOID * lplpBuffer, c2b7a98c21 2011-02-23 kinaba: PUINT puLen); c2b7a98c21 2011-02-23 kinaba: extern(Windows) export BOOL VerQueryValueW( c2b7a98c21 2011-02-23 kinaba: LPVOID pBlock, c2b7a98c21 2011-02-23 kinaba: LPWSTR lpSubBlock, c2b7a98c21 2011-02-23 kinaba: LPVOID * lplpBuffer, c2b7a98c21 2011-02-23 kinaba: PUINT puLen); c2b7a98c21 2011-02-23 kinaba: // #ifdef UNICODE c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: alias VerQueryValueA VerQueryValue; c2b7a98c21 2011-02-23 kinaba: // #endif // !UNICODE c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #endif /* !RC_INVOKED */ c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #ifdef __cplusplus c2b7a98c21 2011-02-23 kinaba: // } c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #endif /* !VER_H */ c2b7a98c21 2011-02-23 kinaba: