Artifact Content

Not logged in

Artifact d51bd8693c9ea8e91547dccfe576bde3e9be6c41


     1  module win32.ansi.winver;
     2  
     3  // Translated from Microsoft Platform SDK August 2001 Edition
     4  // by Y.Tomino (demoonlit@inter7.jp)
     5  
     6  import win32.ansi.winuser;
     7  
     8  // #ifndef VER_H
     9  // #define VER_H
    10  
    11  // #ifdef __cplusplus
    12  // extern "C" {
    13  // #endif
    14  
    15  alias RT_VERSION VS_FILE_INFO;
    16  enum : uint { VS_VERSION_INFO = 1 }
    17  enum : uint { VS_USER_DEFINED = 100 }
    18  
    19  // #ifndef _MAC
    20  enum : uint { VS_FFI_SIGNATURE = 0xFEEF04BD }
    21  // #else
    22  // #...
    23  // #endif
    24  enum : uint { VS_FFI_STRUCVERSION = 0x00010000 }
    25  enum : uint { VS_FFI_FILEFLAGSMASK = 0x0000003F }
    26  
    27  enum : uint { VS_FF_DEBUG = 0x00000001 }
    28  enum : uint { VS_FF_PRERELEASE = 0x00000002 }
    29  enum : uint { VS_FF_PATCHED = 0x00000004 }
    30  enum : uint { VS_FF_PRIVATEBUILD = 0x00000008 }
    31  enum : uint { VS_FF_INFOINFERRED = 0x00000010 }
    32  enum : uint { VS_FF_SPECIALBUILD = 0x00000020 }
    33  
    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  
    40  enum : uint { VOS__BASE = 0x00000000 }
    41  enum : uint { VOS__WINDOWS16 = 0x00000001 }
    42  enum : uint { VOS__PM16 = 0x00000002 }
    43  enum : uint { VOS__PM32 = 0x00000003 }
    44  enum : uint { VOS__WINDOWS32 = 0x00000004 }
    45  
    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  
    52  enum : uint { VFT_UNKNOWN = 0x00000000 }
    53  enum : uint { VFT_APP = 0x00000001 }
    54  enum : uint { VFT_DLL = 0x00000002 }
    55  enum : uint { VFT_DRV = 0x00000003 }
    56  enum : uint { VFT_FONT = 0x00000004 }
    57  enum : uint { VFT_VXD = 0x00000005 }
    58  enum : uint { VFT_STATIC_LIB = 0x00000007 }
    59  
    60  enum : uint { VFT2_UNKNOWN = 0x00000000 }
    61  enum : uint { VFT2_DRV_PRINTER = 0x00000001 }
    62  enum : uint { VFT2_DRV_KEYBOARD = 0x00000002 }
    63  enum : uint { VFT2_DRV_LANGUAGE = 0x00000003 }
    64  enum : uint { VFT2_DRV_DISPLAY = 0x00000004 }
    65  enum : uint { VFT2_DRV_MOUSE = 0x00000005 }
    66  enum : uint { VFT2_DRV_NETWORK = 0x00000006 }
    67  enum : uint { VFT2_DRV_SYSTEM = 0x00000007 }
    68  enum : uint { VFT2_DRV_INSTALLABLE = 0x00000008 }
    69  enum : uint { VFT2_DRV_SOUND = 0x00000009 }
    70  enum : uint { VFT2_DRV_COMM = 0x0000000A }
    71  enum : uint { VFT2_DRV_INPUTMETHOD = 0x0000000B }
    72  enum : uint { VFT2_DRV_VERSIONED_PRINTER = 0x0000000C }
    73  
    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  
   113  // #ifndef RC_INVOKED              /* RC doesn't need to see the rest of this */
   114  
   115  struct tagVS_FIXEDFILEINFO {
   116    DWORD dwSignature;
   117    DWORD dwStrucVersion;
   118    DWORD dwFileVersionMS;
   119    DWORD dwFileVersionLS;
   120    DWORD dwProductVersionMS;
   121    DWORD dwProductVersionLS;
   122    DWORD dwFileFlagsMask;
   123    DWORD dwFileFlags;
   124    DWORD dwFileOS;
   125    DWORD dwFileType;
   126    DWORD dwFileSubtype;
   127    DWORD dwFileDateMS;
   128    DWORD dwFileDateLS;
   129  }
   130  alias tagVS_FIXEDFILEINFO VS_FIXEDFILEINFO;
   131  
   132  extern(Windows) export DWORD VerFindFileA(
   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  extern(Windows) export DWORD VerFindFileW(
   142    DWORD uFlags,
   143    LPWSTR szFileName,
   144    LPWSTR szWinDir,
   145    LPWSTR szAppDir,
   146    LPWSTR szCurDir,
   147    PUINT lpuCurDirLen,
   148    LPWSTR szDestDir,
   149    PUINT lpuDestDirLen);
   150  // #ifdef UNICODE
   151  // #...
   152  // #else
   153  alias VerFindFileA VerFindFile;
   154  // #endif // !UNICODE
   155  
   156  extern(Windows) export DWORD VerInstallFileA(
   157    DWORD uFlags,
   158    LPSTR szSrcFileName,
   159    LPSTR szDestFileName,
   160    LPSTR szSrcDir,
   161    LPSTR szDestDir,
   162    LPSTR szCurDir,
   163    LPSTR szTmpFile,
   164    PUINT lpuTmpFileLen);
   165  extern(Windows) export DWORD VerInstallFileW(
   166    DWORD uFlags,
   167    LPWSTR szSrcFileName,
   168    LPWSTR szDestFileName,
   169    LPWSTR szSrcDir,
   170    LPWSTR szDestDir,
   171    LPWSTR szCurDir,
   172    LPWSTR szTmpFile,
   173    PUINT lpuTmpFileLen);
   174  // #ifdef UNICODE
   175  // #...
   176  // #else
   177  alias VerInstallFileA VerInstallFile;
   178  // #endif // !UNICODE
   179  
   180  extern(Windows) export DWORD GetFileVersionInfoSizeA(
   181    LPSTR lptstrFilename, 
   182    LPDWORD lpdwHandle);
   183  
   184  extern(Windows) export DWORD GetFileVersionInfoSizeW(
   185    LPWSTR lptstrFilename, 
   186    LPDWORD lpdwHandle);
   187  // #ifdef UNICODE
   188  // #...
   189  // #else
   190  alias GetFileVersionInfoSizeA GetFileVersionInfoSize;
   191  // #endif // !UNICODE
   192  
   193  extern(Windows) export BOOL GetFileVersionInfoA(
   194    LPSTR lptstrFilename, 
   195    DWORD dwHandle, 
   196    DWORD dwLen, 
   197    LPVOID lpData);
   198  
   199  extern(Windows) export BOOL GetFileVersionInfoW(
   200    LPWSTR lptstrFilename, 
   201    DWORD dwHandle, 
   202    DWORD dwLen, 
   203    LPVOID lpData);
   204  // #ifdef UNICODE
   205  // #...
   206  // #else
   207  alias GetFileVersionInfoA GetFileVersionInfo;
   208  // #endif // !UNICODE
   209  
   210  extern(Windows) export DWORD VerLanguageNameA(
   211    DWORD wLang,
   212    LPSTR szLang,
   213    DWORD nSize);
   214  extern(Windows) export DWORD VerLanguageNameW(
   215    DWORD wLang,
   216    LPWSTR szLang,
   217    DWORD nSize);
   218  // #ifdef UNICODE
   219  // #...
   220  // #else
   221  alias VerLanguageNameA VerLanguageName;
   222  // #endif // !UNICODE
   223  
   224  extern(Windows) export BOOL VerQueryValueA(
   225    LPVOID pBlock,
   226    LPSTR lpSubBlock,
   227    LPVOID * lplpBuffer,
   228    PUINT puLen);
   229  extern(Windows) export BOOL VerQueryValueW(
   230    LPVOID pBlock,
   231    LPWSTR lpSubBlock,
   232    LPVOID * lplpBuffer,
   233    PUINT puLen);
   234  // #ifdef UNICODE
   235  // #...
   236  // #else
   237  alias VerQueryValueA VerQueryValue;
   238  // #endif // !UNICODE
   239  
   240  // #endif  /* !RC_INVOKED */
   241  
   242  // #ifdef __cplusplus
   243  // }
   244  // #endif
   245  
   246  // #endif  /* !VER_H */
   247