blob: cab18be7b2673b3ac6e42d2e0761d9665e21a010 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
|
#pragma once
// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
#ifdef __cplusplus
extern "C" {
#endif
#define ReleaseVerutilVersion(p) if (p) { VerFreeVersion(p); p = NULL; }
typedef struct _VERUTIL_VERSION_RELEASE_LABEL
{
BOOL fNumeric;
DWORD dwValue;
SIZE_T cchLabelOffset;
int cchLabel;
} VERUTIL_VERSION_RELEASE_LABEL;
typedef struct _VERUTIL_VERSION
{
LPWSTR sczVersion;
WCHAR chPrefix;
DWORD dwMajor;
DWORD dwMinor;
DWORD dwPatch;
DWORD dwRevision;
DWORD cReleaseLabels;
VERUTIL_VERSION_RELEASE_LABEL* rgReleaseLabels;
SIZE_T cchMetadataOffset;
BOOL fInvalid;
BOOL fHasMajor;
BOOL fHasMinor;
BOOL fHasPatch;
BOOL fHasRevision;
} VERUTIL_VERSION;
/*******************************************************************
VerCompareParsedVersions - compares the Verutil versions.
*******************************************************************/
HRESULT DAPI VerCompareParsedVersions(
__in_opt VERUTIL_VERSION* pVersion1,
__in_opt VERUTIL_VERSION* pVersion2,
__out int* pnResult
);
/*******************************************************************
VerCompareStringVersions - parses the strings with VerParseVersion and then
compares the Verutil versions with VerCompareParsedVersions.
*******************************************************************/
HRESULT DAPI VerCompareStringVersions(
__in_z LPCWSTR wzVersion1,
__in_z LPCWSTR wzVersion2,
__in BOOL fStrict,
__out int* pnResult
);
/********************************************************************
VerCopyVersion - copies the given Verutil version.
*******************************************************************/
HRESULT DAPI VerCopyVersion(
__in VERUTIL_VERSION* pSource,
__out VERUTIL_VERSION** ppVersion
);
/********************************************************************
VerFreeVersion - frees any memory associated with a Verutil version.
*******************************************************************/
void DAPI VerFreeVersion(
__in VERUTIL_VERSION* pVersion
);
/*******************************************************************
VerParseVersion - parses the string into a Verutil version.
*******************************************************************/
HRESULT DAPI VerParseVersion(
__in_z LPCWSTR wzVersion,
__in SIZE_T cchVersion,
__in BOOL fStrict,
__out VERUTIL_VERSION** ppVersion
);
/*******************************************************************
VerParseVersion - parses the QWORD into a Verutil version.
*******************************************************************/
HRESULT DAPI VerVersionFromQword(
__in DWORD64 qwVersion,
__out VERUTIL_VERSION** ppVersion
);
#ifdef __cplusplus
}
#endif
|