windows-nt/Source/XPSP1/NT/shell/lib/badapps/version.h
2020-09-26 16:20:57 +08:00

96 lines
1.6 KiB
C

/*++
Copyright (c) 1998 Microsoft Corporation
Module Name:
version.h
Abstract:
Declares the structures used for version checkings.
Author:
Calin Negreanu (calinn) 01/20/1999
Revision History:
--*/
#pragma once
#include <windows.h>
#include <winnt.h>
#define MAX_TRANSLATION 32
typedef struct {
WORD CodePage;
WORD Language;
} TRANSLATION, *PTRANSLATION;
typedef struct {
PBYTE VersionBuffer;
PTRANSLATION Translations;
PBYTE StringBuffer;
UINT Size;
DWORD Handle;
VS_FIXEDFILEINFO *FixedInfo;
UINT FixedInfoSize;
TCHAR TranslationStr[MAX_TRANSLATION];
UINT MaxTranslations;
UINT CurrentTranslation;
UINT CurrentDefaultTranslation;
PCTSTR FileSpec;
PCTSTR VersionField;
} VERSION_STRUCT, *PVERSION_STRUCT;
BOOL
ShCreateVersionStruct (
OUT PVERSION_STRUCT VersionStruct,
IN PCTSTR FileSpec
);
VOID
ShDestroyVersionStruct (
IN PVERSION_STRUCT VersionStruct
);
ULONGLONG
ShVerGetFileVer (
IN PVERSION_STRUCT VersionStruct
);
ULONGLONG
ShVerGetProductVer (
IN PVERSION_STRUCT VersionStruct
);
DWORD
ShVerGetFileDateLo (
IN PVERSION_STRUCT VersionStruct
);
DWORD
ShVerGetFileDateHi (
IN PVERSION_STRUCT VersionStruct
);
DWORD
ShVerGetFileVerOs (
IN PVERSION_STRUCT VersionStruct
);
DWORD
ShVerGetFileVerType (
IN PVERSION_STRUCT VersionStruct
);
BOOL
ShGlobalVersionCheck (
IN PVERSION_STRUCT VersionData,
IN PCTSTR NameToCheck,
IN PCTSTR ValueToCheck
);