Annotation of mstools/h/winver.h, revision 1.1.1.2

1.1.1.2 ! root        1: /*****************************************************************************\
        !             2: *                                                                             *
        !             3: * ver.h -       Version management functions, types, and definitions          *
        !             4: *                                                                             *
        !             5: *               Include file for VER.DLL.  This library is                    *
        !             6: *               designed to allow version stamping of Windows executable files*
        !             7: *               and of special .VER files for DOS executable files.           *
        !             8: *                                                                             *
        !             9: *               Copyright (c) 1992, Microsoft Corp.  All rights reserved      *
        !            10: *                                                                             *
        !            11: \*****************************************************************************/
1.1       root       12: 
                     13: #ifndef VER_H
                     14: #define VER_H
                     15: 
                     16: /* ----- Symbols ----- */
                     17: #define VS_FILE_INFO           RT_VERSION
1.1.1.2 ! root       18: #define VS_VERSION_INFO                1
        !            19: #define VS_USER_DEFINED                100
1.1       root       20: 
                     21: /* ----- VS_VERSION.dwFileFlags ----- */
                     22: #define        VS_FFI_SIGNATURE        0xFEEF04BDL
                     23: #define        VS_FFI_STRUCVERSION     0x00010000L
                     24: #define        VS_FFI_FILEFLAGSMASK    0x0000003FL
                     25: 
                     26: /* ----- VS_VERSION.dwFileFlags ----- */
                     27: #define        VS_FF_DEBUG             0x00000001L
                     28: #define        VS_FF_PRERELEASE        0x00000002L
                     29: #define        VS_FF_PATCHED           0x00000004L
                     30: #define        VS_FF_PRIVATEBUILD      0x00000008L
                     31: #define        VS_FF_INFOINFERRED      0x00000010L
                     32: #define        VS_FF_SPECIALBUILD      0x00000020L
                     33: 
                     34: /* ----- VS_VERSION.dwFileOS ----- */
                     35: #define        VOS_UNKNOWN             0x00000000L
                     36: #define        VOS_DOS                 0x00010000L
                     37: #define        VOS_OS216               0x00020000L
                     38: #define        VOS_OS232               0x00030000L
                     39: #define        VOS_NT                  0x00040000L
                     40: 
                     41: #define        VOS__BASE               0x00000000L
                     42: #define        VOS__WINDOWS16          0x00000001L
                     43: #define        VOS__PM16               0x00000002L
                     44: #define        VOS__PM32               0x00000003L
                     45: #define        VOS__WINDOWS32          0x00000004L
                     46: 
                     47: #define        VOS_DOS_WINDOWS16       0x00010001L
                     48: #define        VOS_DOS_WINDOWS32       0x00010004L
                     49: #define        VOS_OS216_PM16          0x00020002L
                     50: #define        VOS_OS232_PM32          0x00030003L
                     51: #define        VOS_NT_WINDOWS32        0x00040004L
                     52: 
                     53: /* ----- VS_VERSION.dwFileType ----- */
                     54: #define        VFT_UNKNOWN             0x00000000L
                     55: #define        VFT_APP                 0x00000001L
                     56: #define        VFT_DLL                 0x00000002L
                     57: #define        VFT_DRV                 0x00000003L
                     58: #define        VFT_FONT                0x00000004L
                     59: #define        VFT_VXD                 0x00000005L
                     60: #define        VFT_STATIC_LIB          0x00000007L
                     61: 
                     62: /* ----- VS_VERSION.dwFileSubtype for VFT_WINDOWS_DRV ----- */
                     63: #define        VFT2_UNKNOWN            0x00000000L
                     64: #define VFT2_DRV_PRINTER       0x00000001L
                     65: #define        VFT2_DRV_KEYBOARD       0x00000002L
                     66: #define        VFT2_DRV_LANGUAGE       0x00000003L
                     67: #define        VFT2_DRV_DISPLAY        0x00000004L
                     68: #define        VFT2_DRV_MOUSE          0x00000005L
                     69: #define        VFT2_DRV_NETWORK        0x00000006L
                     70: #define        VFT2_DRV_SYSTEM         0x00000007L
                     71: #define        VFT2_DRV_INSTALLABLE    0x00000008L
                     72: #define        VFT2_DRV_SOUND          0x00000009L
1.1.1.2 ! root       73: #define        VFT2_DRV_COMM           0x0000000AL
1.1       root       74: 
                     75: /* ----- VS_VERSION.dwFileSubtype for VFT_WINDOWS_FONT ----- */
                     76: #define VFT2_FONT_RASTER       0x00000001L
                     77: #define        VFT2_FONT_VECTOR        0x00000002L
                     78: #define        VFT2_FONT_TRUETYPE      0x00000003L
                     79: 
                     80: /* ----- VerFindFile() flags ----- */
                     81: #define VFFF_ISSHAREDFILE      0x0001
                     82: 
                     83: #define VFF_CURNEDEST          0x0001
                     84: #define VFF_FILEINUSE          0x0002
                     85: #define VFF_BUFFTOOSMALL       0x0004
                     86: 
                     87: /* ----- VerInstallFile() flags ----- */
                     88: #define VIFF_FORCEINSTALL      0x0001
                     89: #define VIFF_DONTDELETEOLD     0x0002
                     90: 
                     91: #define VIF_TEMPFILE           0x00000001L
                     92: #define VIF_MISMATCH           0x00000002L
                     93: #define VIF_SRCOLD             0x00000004L
                     94: 
                     95: #define VIF_DIFFLANG           0x00000008L
                     96: #define VIF_DIFFCODEPG         0x00000010L
                     97: #define VIF_DIFFTYPE           0x00000020L
                     98: 
                     99: #define VIF_WRITEPROT          0x00000040L
                    100: #define VIF_FILEINUSE          0x00000080L
                    101: #define VIF_OUTOFSPACE         0x00000100L
                    102: #define VIF_ACCESSVIOLATION    0x00000200L
                    103: #define VIF_SHARINGVIOLATION   0x00000400L
                    104: #define VIF_CANNOTCREATE       0x00000800L
                    105: #define VIF_CANNOTDELETE       0x00001000L
                    106: #define VIF_CANNOTRENAME       0x00002000L
                    107: #define VIF_CANNOTDELETECUR    0x00004000L
                    108: #define VIF_OUTOFMEMORY                0x00008000L
                    109: 
                    110: #define VIF_CANNOTREADSRC      0x00010000L
                    111: #define VIF_CANNOTREADDST      0x00020000L
                    112: 
                    113: #define VIF_BUFFTOOSMALL       0x00040000L
                    114: 
1.1.1.2 ! root      115: #ifndef RC_INVOKED              /* RC doesn't need to see the rest of this */
1.1       root      116: 
                    117: /* ----- Types and structures ----- */
                    118: 
                    119: typedef struct tagVS_FIXEDFILEINFO
                    120: {
1.1.1.2 ! root      121:     DWORD   dwSignature;            /* e.g. 0xfeef04bd */
        !           122:     DWORD   dwStrucVersion;         /* e.g. 0x00000042 = "0.42" */
        !           123:     DWORD   dwFileVersionMS;        /* e.g. 0x00030075 = "3.75" */
        !           124:     DWORD   dwFileVersionLS;        /* e.g. 0x00000031 = "0.31" */
        !           125:     DWORD   dwProductVersionMS;     /* e.g. 0x00030010 = "3.10" */
        !           126:     DWORD   dwProductVersionLS;     /* e.g. 0x00000031 = "0.31" */
        !           127:     DWORD   dwFileFlagsMask;        /* = 0x3F for version "0.42" */
        !           128:     DWORD   dwFileFlags;            /* e.g. VFF_DEBUG | VFF_PRERELEASE */
        !           129:     DWORD   dwFileOS;               /* e.g. VOS_DOS_WINDOWS16 */
        !           130:     DWORD   dwFileType;             /* e.g. VFT_DRIVER */
        !           131:     DWORD   dwFileSubtype;          /* e.g. VFT2_DRV_KEYBOARD */
        !           132:     DWORD   dwFileDateMS;           /* e.g. 0 */
        !           133:     DWORD   dwFileDateLS;           /* e.g. 0 */
1.1       root      134: } VS_FIXEDFILEINFO;
                    135: 
1.1.1.2 ! root      136: /* ----- Function prototypes ----- */
1.1       root      137: 
1.1.1.2 ! root      138: DWORD
        !           139: APIENTRY
        !           140: VerFindFile(
        !           141:        DWORD uFlags,
        !           142:        LPSTR szFileName,
        !           143:        LPSTR szWinDir,
        !           144:        LPSTR szAppDir,
        !           145:        LPSTR szCurDir,
        !           146:        LPDWORD lpuCurDirLen,
        !           147:        LPSTR szDestDir,
        !           148:        LPDWORD lpuDestDirLen
        !           149:        );
        !           150: 
        !           151: DWORD
        !           152: APIENTRY
        !           153: VerInstallFile(
        !           154:        DWORD uFlags,
        !           155:        LPSTR szSrcFileName,
        !           156:        LPSTR szDestFileName,
        !           157:        LPSTR szSrcDir,
        !           158:        LPSTR szDestDir,
        !           159:        LPSTR szCurDir,
        !           160:        LPSTR szTmpFile,
        !           161:        LPDWORD lpuTmpFileLen
        !           162:        );
        !           163: 
        !           164: /* Returns size of version info in bytes */
        !           165: DWORD
        !           166: APIENTRY
        !           167: GetFileVersionInfoSize(
        !           168:        LPSTR lpstrFilename,    /* Filename of version stamped file */
        !           169:        LPDWORD lpdwHandle
        !           170:        );                      /* Information for use by GetFileVersionInfo */
        !           171: 
        !           172: /* Read version info into buffer */
        !           173: BOOL
        !           174: APIENTRY
        !           175: GetFileVersionInfo(
        !           176:        LPSTR lpstrFilename,    /* Filename of version stamped file */
        !           177:        DWORD dwHandle,         /* Information from GetFileVersionSize */
        !           178:        DWORD dwLen,            /* Length of buffer for info */
        !           179:        LPVOID lpData
        !           180:        );                      /* Buffer to place the data structure */
        !           181: 
        !           182: DWORD
        !           183: APIENTRY
        !           184: VerLanguageName(
        !           185:        DWORD wLang,
        !           186:        LPSTR szLang,
        !           187:        DWORD nSize
        !           188:        );
        !           189: 
        !           190: BOOL
        !           191: APIENTRY
        !           192: VerQueryValue(
        !           193:        const LPVOID pBlock,
        !           194:        LPSTR lpSubBlock,
        !           195:        LPVOID * lplpBuffer,
        !           196:        LPDWORD lpuLen
        !           197:        );
1.1       root      198: 
1.1.1.2 ! root      199: #endif  /* !RC_INVOKED */
        !           200: #endif  /* !VER_H */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.