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

1.1.1.2   root        1: /*****************************************************************************\
                      2: *                                                                             *
1.1.1.3 ! root        3: * winver.h -    Version management functions, types, and definitions          *
1.1.1.2   root        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
1.1.1.3 ! root      140: VerFindFileA(
1.1.1.2   root      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:        );
1.1.1.3 ! root      150: DWORD
        !           151: APIENTRY
        !           152: VerFindFileW(
        !           153:        DWORD uFlags,
        !           154:        LPWSTR szFileName,
        !           155:        LPWSTR szWinDir,
        !           156:        LPWSTR szAppDir,
        !           157:        LPWSTR szCurDir,
        !           158:        LPDWORD lpuCurDirLen,
        !           159:        LPWSTR szDestDir,
        !           160:        LPDWORD lpuDestDirLen
        !           161:        );
        !           162: #ifdef UNICODE
        !           163: #define VerFindFile VerFindFileW
        !           164: #else
        !           165: #define VerFindFile VerFindFileA
        !           166: #endif // !UNICODE
1.1.1.2   root      167: 
                    168: DWORD
                    169: APIENTRY
1.1.1.3 ! root      170: VerInstallFileA(
1.1.1.2   root      171:        DWORD uFlags,
                    172:        LPSTR szSrcFileName,
                    173:        LPSTR szDestFileName,
                    174:        LPSTR szSrcDir,
                    175:        LPSTR szDestDir,
                    176:        LPSTR szCurDir,
                    177:        LPSTR szTmpFile,
                    178:        LPDWORD lpuTmpFileLen
                    179:        );
1.1.1.3 ! root      180: DWORD
        !           181: APIENTRY
        !           182: VerInstallFileW(
        !           183:        DWORD uFlags,
        !           184:        LPWSTR szSrcFileName,
        !           185:        LPWSTR szDestFileName,
        !           186:        LPWSTR szSrcDir,
        !           187:        LPWSTR szDestDir,
        !           188:        LPWSTR szCurDir,
        !           189:        LPWSTR szTmpFile,
        !           190:        LPDWORD lpuTmpFileLen
        !           191:        );
        !           192: #ifdef UNICODE
        !           193: #define VerInstallFile VerInstallFileW
        !           194: #else
        !           195: #define VerInstallFile VerInstallFileA
        !           196: #endif // !UNICODE
1.1.1.2   root      197: 
                    198: /* Returns size of version info in bytes */
                    199: DWORD
                    200: APIENTRY
1.1.1.3 ! root      201: GetFileVersionInfoSizeA(
        !           202:        LPSTR lptstrFilename,   /* Filename of version stamped file */
        !           203:        LPDWORD lpdwHandle
        !           204:        );                      /* Information for use by GetFileVersionInfo */
        !           205: /* Returns size of version info in bytes */
        !           206: DWORD
        !           207: APIENTRY
        !           208: GetFileVersionInfoSizeW(
        !           209:        LPWSTR lptstrFilename,  /* Filename of version stamped file */
1.1.1.2   root      210:        LPDWORD lpdwHandle
                    211:        );                      /* Information for use by GetFileVersionInfo */
1.1.1.3 ! root      212: #ifdef UNICODE
        !           213: #define GetFileVersionInfoSize GetFileVersionInfoSizeW
        !           214: #else
        !           215: #define GetFileVersionInfoSize GetFileVersionInfoSizeA
        !           216: #endif // !UNICODE
1.1.1.2   root      217: 
                    218: /* Read version info into buffer */
                    219: BOOL
                    220: APIENTRY
1.1.1.3 ! root      221: GetFileVersionInfoA(
        !           222:        LPSTR lptstrFilename,   /* Filename of version stamped file */
        !           223:        DWORD dwHandle,         /* Information from GetFileVersionSize */
        !           224:        DWORD dwLen,            /* Length of buffer for info */
        !           225:        LPVOID lpData
        !           226:        );                      /* Buffer to place the data structure */
        !           227: /* Read version info into buffer */
        !           228: BOOL
        !           229: APIENTRY
        !           230: GetFileVersionInfoW(
        !           231:        LPWSTR lptstrFilename,  /* Filename of version stamped file */
1.1.1.2   root      232:        DWORD dwHandle,         /* Information from GetFileVersionSize */
                    233:        DWORD dwLen,            /* Length of buffer for info */
                    234:        LPVOID lpData
                    235:        );                      /* Buffer to place the data structure */
1.1.1.3 ! root      236: #ifdef UNICODE
        !           237: #define GetFileVersionInfo GetFileVersionInfoW
        !           238: #else
        !           239: #define GetFileVersionInfo GetFileVersionInfoA
        !           240: #endif // !UNICODE
1.1.1.2   root      241: 
                    242: DWORD
                    243: APIENTRY
1.1.1.3 ! root      244: VerLanguageNameA(
1.1.1.2   root      245:        DWORD wLang,
                    246:        LPSTR szLang,
                    247:        DWORD nSize
                    248:        );
1.1.1.3 ! root      249: DWORD
        !           250: APIENTRY
        !           251: VerLanguageNameW(
        !           252:        DWORD wLang,
        !           253:        LPWSTR szLang,
        !           254:        DWORD nSize
        !           255:        );
        !           256: #ifdef UNICODE
        !           257: #define VerLanguageName VerLanguageNameW
        !           258: #else
        !           259: #define VerLanguageName VerLanguageNameA
        !           260: #endif // !UNICODE
1.1.1.2   root      261: 
                    262: BOOL
                    263: APIENTRY
1.1.1.3 ! root      264: VerQueryValueA(
1.1.1.2   root      265:        const LPVOID pBlock,
                    266:        LPSTR lpSubBlock,
                    267:        LPVOID * lplpBuffer,
                    268:        LPDWORD lpuLen
                    269:        );
1.1.1.3 ! root      270: BOOL
        !           271: APIENTRY
        !           272: VerQueryValueW(
        !           273:        const LPVOID pBlock,
        !           274:        LPWSTR lpSubBlock,
        !           275:        LPVOID * lplpBuffer,
        !           276:        LPDWORD lpuLen
        !           277:        );
        !           278: #ifdef UNICODE
        !           279: #define VerQueryValue VerQueryValueW
        !           280: #else
        !           281: #define VerQueryValue VerQueryValueA
        !           282: #endif // !UNICODE
1.1       root      283: 
1.1.1.2   root      284: #endif  /* !RC_INVOKED */
                    285: #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.