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

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: *                                                                             *
1.1.1.4 ! root        9: *               Copyright (c) 1993, Microsoft Corp.  All rights reserved      *
1.1.1.2   root       10: *                                                                             *
                     11: \*****************************************************************************/
1.1       root       12: 
                     13: #ifndef VER_H
                     14: #define VER_H
                     15: 
1.1.1.4 ! root       16: #ifdef __cplusplus
        !            17: extern "C" {
        !            18: #endif
        !            19: 
1.1       root       20: /* ----- Symbols ----- */
1.1.1.4 ! root       21: #define VS_FILE_INFO            RT_VERSION
        !            22: #define VS_VERSION_INFO         1
        !            23: #define VS_USER_DEFINED         100
1.1       root       24: 
                     25: /* ----- VS_VERSION.dwFileFlags ----- */
1.1.1.4 ! root       26: #define VS_FFI_SIGNATURE        0xFEEF04BDL
        !            27: #define VS_FFI_STRUCVERSION     0x00010000L
        !            28: #define VS_FFI_FILEFLAGSMASK    0x0000003FL
1.1       root       29: 
                     30: /* ----- VS_VERSION.dwFileFlags ----- */
1.1.1.4 ! root       31: #define VS_FF_DEBUG             0x00000001L
        !            32: #define VS_FF_PRERELEASE        0x00000002L
        !            33: #define VS_FF_PATCHED           0x00000004L
        !            34: #define VS_FF_PRIVATEBUILD      0x00000008L
        !            35: #define VS_FF_INFOINFERRED      0x00000010L
        !            36: #define VS_FF_SPECIALBUILD      0x00000020L
1.1       root       37: 
                     38: /* ----- VS_VERSION.dwFileOS ----- */
1.1.1.4 ! root       39: #define VOS_UNKNOWN             0x00000000L
        !            40: #define VOS_DOS                 0x00010000L
        !            41: #define VOS_OS216               0x00020000L
        !            42: #define VOS_OS232               0x00030000L
        !            43: #define VOS_NT                  0x00040000L
        !            44: 
        !            45: #define VOS__BASE               0x00000000L
        !            46: #define VOS__WINDOWS16          0x00000001L
        !            47: #define VOS__PM16               0x00000002L
        !            48: #define VOS__PM32               0x00000003L
        !            49: #define VOS__WINDOWS32          0x00000004L
        !            50: 
        !            51: #define VOS_DOS_WINDOWS16       0x00010001L
        !            52: #define VOS_DOS_WINDOWS32       0x00010004L
        !            53: #define VOS_OS216_PM16          0x00020002L
        !            54: #define VOS_OS232_PM32          0x00030003L
        !            55: #define VOS_NT_WINDOWS32        0x00040004L
1.1       root       56: 
                     57: /* ----- VS_VERSION.dwFileType ----- */
1.1.1.4 ! root       58: #define VFT_UNKNOWN             0x00000000L
        !            59: #define VFT_APP                 0x00000001L
        !            60: #define VFT_DLL                 0x00000002L
        !            61: #define VFT_DRV                 0x00000003L
        !            62: #define VFT_FONT                0x00000004L
        !            63: #define VFT_VXD                 0x00000005L
        !            64: #define VFT_STATIC_LIB          0x00000007L
1.1       root       65: 
                     66: /* ----- VS_VERSION.dwFileSubtype for VFT_WINDOWS_DRV ----- */
1.1.1.4 ! root       67: #define VFT2_UNKNOWN            0x00000000L
        !            68: #define VFT2_DRV_PRINTER        0x00000001L
        !            69: #define VFT2_DRV_KEYBOARD       0x00000002L
        !            70: #define VFT2_DRV_LANGUAGE       0x00000003L
        !            71: #define VFT2_DRV_DISPLAY        0x00000004L
        !            72: #define VFT2_DRV_MOUSE          0x00000005L
        !            73: #define VFT2_DRV_NETWORK        0x00000006L
        !            74: #define VFT2_DRV_SYSTEM         0x00000007L
        !            75: #define VFT2_DRV_INSTALLABLE    0x00000008L
        !            76: #define VFT2_DRV_SOUND          0x00000009L
        !            77: #define VFT2_DRV_COMM           0x0000000AL
1.1       root       78: 
                     79: /* ----- VS_VERSION.dwFileSubtype for VFT_WINDOWS_FONT ----- */
1.1.1.4 ! root       80: #define VFT2_FONT_RASTER        0x00000001L
        !            81: #define VFT2_FONT_VECTOR        0x00000002L
        !            82: #define VFT2_FONT_TRUETYPE      0x00000003L
1.1       root       83: 
                     84: /* ----- VerFindFile() flags ----- */
1.1.1.4 ! root       85: #define VFFF_ISSHAREDFILE       0x0001
1.1       root       86: 
1.1.1.4 ! root       87: #define VFF_CURNEDEST           0x0001
        !            88: #define VFF_FILEINUSE           0x0002
        !            89: #define VFF_BUFFTOOSMALL        0x0004
1.1       root       90: 
                     91: /* ----- VerInstallFile() flags ----- */
1.1.1.4 ! root       92: #define VIFF_FORCEINSTALL       0x0001
        !            93: #define VIFF_DONTDELETEOLD      0x0002
1.1       root       94: 
1.1.1.4 ! root       95: #define VIF_TEMPFILE            0x00000001L
        !            96: #define VIF_MISMATCH            0x00000002L
        !            97: #define VIF_SRCOLD              0x00000004L
        !            98: 
        !            99: #define VIF_DIFFLANG            0x00000008L
        !           100: #define VIF_DIFFCODEPG          0x00000010L
        !           101: #define VIF_DIFFTYPE            0x00000020L
        !           102: 
        !           103: #define VIF_WRITEPROT           0x00000040L
        !           104: #define VIF_FILEINUSE           0x00000080L
        !           105: #define VIF_OUTOFSPACE          0x00000100L
        !           106: #define VIF_ACCESSVIOLATION     0x00000200L
        !           107: #define VIF_SHARINGVIOLATION    0x00000400L
        !           108: #define VIF_CANNOTCREATE        0x00000800L
        !           109: #define VIF_CANNOTDELETE        0x00001000L
        !           110: #define VIF_CANNOTRENAME        0x00002000L
        !           111: #define VIF_CANNOTDELETECUR     0x00004000L
        !           112: #define VIF_OUTOFMEMORY         0x00008000L
1.1       root      113: 
1.1.1.4 ! root      114: #define VIF_CANNOTREADSRC       0x00010000L
        !           115: #define VIF_CANNOTREADDST       0x00020000L
1.1       root      116: 
1.1.1.4 ! root      117: #define VIF_BUFFTOOSMALL        0x00040000L
1.1       root      118: 
1.1.1.2   root      119: #ifndef RC_INVOKED              /* RC doesn't need to see the rest of this */
1.1       root      120: 
                    121: /* ----- Types and structures ----- */
                    122: 
                    123: typedef struct tagVS_FIXEDFILEINFO
                    124: {
1.1.1.2   root      125:     DWORD   dwSignature;            /* e.g. 0xfeef04bd */
                    126:     DWORD   dwStrucVersion;         /* e.g. 0x00000042 = "0.42" */
                    127:     DWORD   dwFileVersionMS;        /* e.g. 0x00030075 = "3.75" */
                    128:     DWORD   dwFileVersionLS;        /* e.g. 0x00000031 = "0.31" */
                    129:     DWORD   dwProductVersionMS;     /* e.g. 0x00030010 = "3.10" */
                    130:     DWORD   dwProductVersionLS;     /* e.g. 0x00000031 = "0.31" */
                    131:     DWORD   dwFileFlagsMask;        /* = 0x3F for version "0.42" */
                    132:     DWORD   dwFileFlags;            /* e.g. VFF_DEBUG | VFF_PRERELEASE */
                    133:     DWORD   dwFileOS;               /* e.g. VOS_DOS_WINDOWS16 */
                    134:     DWORD   dwFileType;             /* e.g. VFT_DRIVER */
                    135:     DWORD   dwFileSubtype;          /* e.g. VFT2_DRV_KEYBOARD */
                    136:     DWORD   dwFileDateMS;           /* e.g. 0 */
                    137:     DWORD   dwFileDateLS;           /* e.g. 0 */
1.1       root      138: } VS_FIXEDFILEINFO;
                    139: 
1.1.1.2   root      140: /* ----- Function prototypes ----- */
1.1       root      141: 
1.1.1.2   root      142: DWORD
                    143: APIENTRY
1.1.1.3   root      144: VerFindFileA(
1.1.1.4 ! root      145:         DWORD uFlags,
        !           146:         LPSTR szFileName,
        !           147:         LPSTR szWinDir,
        !           148:         LPSTR szAppDir,
        !           149:         LPSTR szCurDir,
        !           150:         PUINT lpuCurDirLen,
        !           151:         LPSTR szDestDir,
        !           152:         PUINT lpuDestDirLen
        !           153:         );
1.1.1.3   root      154: DWORD
                    155: APIENTRY
                    156: VerFindFileW(
1.1.1.4 ! root      157:         DWORD uFlags,
        !           158:         LPWSTR szFileName,
        !           159:         LPWSTR szWinDir,
        !           160:         LPWSTR szAppDir,
        !           161:         LPWSTR szCurDir,
        !           162:         PUINT lpuCurDirLen,
        !           163:         LPWSTR szDestDir,
        !           164:         PUINT lpuDestDirLen
        !           165:         );
1.1.1.3   root      166: #ifdef UNICODE
1.1.1.4 ! root      167: #define VerFindFile  VerFindFileW
1.1.1.3   root      168: #else
1.1.1.4 ! root      169: #define VerFindFile  VerFindFileA
1.1.1.3   root      170: #endif // !UNICODE
1.1.1.2   root      171: 
                    172: DWORD
                    173: APIENTRY
1.1.1.3   root      174: VerInstallFileA(
1.1.1.4 ! root      175:         DWORD uFlags,
        !           176:         LPSTR szSrcFileName,
        !           177:         LPSTR szDestFileName,
        !           178:         LPSTR szSrcDir,
        !           179:         LPSTR szDestDir,
        !           180:         LPSTR szCurDir,
        !           181:         LPSTR szTmpFile,
        !           182:         PUINT lpuTmpFileLen
        !           183:         );
1.1.1.3   root      184: DWORD
                    185: APIENTRY
                    186: VerInstallFileW(
1.1.1.4 ! root      187:         DWORD uFlags,
        !           188:         LPWSTR szSrcFileName,
        !           189:         LPWSTR szDestFileName,
        !           190:         LPWSTR szSrcDir,
        !           191:         LPWSTR szDestDir,
        !           192:         LPWSTR szCurDir,
        !           193:         LPWSTR szTmpFile,
        !           194:         PUINT lpuTmpFileLen
        !           195:         );
1.1.1.3   root      196: #ifdef UNICODE
1.1.1.4 ! root      197: #define VerInstallFile  VerInstallFileW
1.1.1.3   root      198: #else
1.1.1.4 ! root      199: #define VerInstallFile  VerInstallFileA
1.1.1.3   root      200: #endif // !UNICODE
1.1.1.2   root      201: 
                    202: /* Returns size of version info in bytes */
                    203: DWORD
                    204: APIENTRY
1.1.1.3   root      205: GetFileVersionInfoSizeA(
1.1.1.4 ! root      206:         LPSTR lptstrFilename, /* Filename of version stamped file */
        !           207:         LPDWORD lpdwHandle
        !           208:         );                      /* Information for use by GetFileVersionInfo */
1.1.1.3   root      209: /* Returns size of version info in bytes */
                    210: DWORD
                    211: APIENTRY
                    212: GetFileVersionInfoSizeW(
1.1.1.4 ! root      213:         LPWSTR lptstrFilename, /* Filename of version stamped file */
        !           214:         LPDWORD lpdwHandle
        !           215:         );                      /* Information for use by GetFileVersionInfo */
1.1.1.3   root      216: #ifdef UNICODE
1.1.1.4 ! root      217: #define GetFileVersionInfoSize  GetFileVersionInfoSizeW
1.1.1.3   root      218: #else
1.1.1.4 ! root      219: #define GetFileVersionInfoSize  GetFileVersionInfoSizeA
1.1.1.3   root      220: #endif // !UNICODE
1.1.1.2   root      221: 
                    222: /* Read version info into buffer */
                    223: BOOL
                    224: APIENTRY
1.1.1.3   root      225: GetFileVersionInfoA(
1.1.1.4 ! root      226:         LPSTR lptstrFilename, /* Filename of version stamped file */
        !           227:         DWORD dwHandle,         /* Information from GetFileVersionSize */
        !           228:         DWORD dwLen,            /* Length of buffer for info */
        !           229:         LPVOID lpData
        !           230:         );                      /* Buffer to place the data structure */
1.1.1.3   root      231: /* Read version info into buffer */
                    232: BOOL
                    233: APIENTRY
                    234: GetFileVersionInfoW(
1.1.1.4 ! root      235:         LPWSTR lptstrFilename, /* Filename of version stamped file */
        !           236:         DWORD dwHandle,         /* Information from GetFileVersionSize */
        !           237:         DWORD dwLen,            /* Length of buffer for info */
        !           238:         LPVOID lpData
        !           239:         );                      /* Buffer to place the data structure */
1.1.1.3   root      240: #ifdef UNICODE
1.1.1.4 ! root      241: #define GetFileVersionInfo  GetFileVersionInfoW
1.1.1.3   root      242: #else
1.1.1.4 ! root      243: #define GetFileVersionInfo  GetFileVersionInfoA
1.1.1.3   root      244: #endif // !UNICODE
1.1.1.2   root      245: 
                    246: DWORD
                    247: APIENTRY
1.1.1.3   root      248: VerLanguageNameA(
1.1.1.4 ! root      249:         DWORD wLang,
        !           250:         LPSTR szLang,
        !           251:         DWORD nSize
        !           252:         );
1.1.1.3   root      253: DWORD
                    254: APIENTRY
                    255: VerLanguageNameW(
1.1.1.4 ! root      256:         DWORD wLang,
        !           257:         LPWSTR szLang,
        !           258:         DWORD nSize
        !           259:         );
1.1.1.3   root      260: #ifdef UNICODE
1.1.1.4 ! root      261: #define VerLanguageName  VerLanguageNameW
1.1.1.3   root      262: #else
1.1.1.4 ! root      263: #define VerLanguageName  VerLanguageNameA
1.1.1.3   root      264: #endif // !UNICODE
1.1.1.2   root      265: 
                    266: BOOL
                    267: APIENTRY
1.1.1.3   root      268: VerQueryValueA(
1.1.1.4 ! root      269:         const LPVOID pBlock,
        !           270:         LPSTR lpSubBlock,
        !           271:         LPVOID * lplpBuffer,
        !           272:         PUINT puLen
        !           273:         );
1.1.1.3   root      274: BOOL
                    275: APIENTRY
                    276: VerQueryValueW(
1.1.1.4 ! root      277:         const LPVOID pBlock,
        !           278:         LPWSTR lpSubBlock,
        !           279:         LPVOID * lplpBuffer,
        !           280:         PUINT puLen
        !           281:         );
1.1.1.3   root      282: #ifdef UNICODE
1.1.1.4 ! root      283: #define VerQueryValue  VerQueryValueW
1.1.1.3   root      284: #else
1.1.1.4 ! root      285: #define VerQueryValue  VerQueryValueA
1.1.1.3   root      286: #endif // !UNICODE
1.1       root      287: 
1.1.1.2   root      288: #endif  /* !RC_INVOKED */
1.1.1.4 ! root      289: 
        !           290: #ifdef __cplusplus
        !           291: }
        !           292: #endif
        !           293: 
1.1.1.2   root      294: #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.