blob: f26a12b7a072fa3dcc5972250b28b6bae81c5ca8 (
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
|
#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 ReleaseApupChain(p) if (p) { ApupFreeChain(p); p = NULL; }
#define ReleaseNullApupChain(p) if (p) { ApupFreeChain(p); p = NULL; }
const LPCWSTR APPLICATION_SYNDICATION_NAMESPACE = L"http://appsyndication.org/2006/appsyn";
typedef enum APUP_HASH_ALGORITHM
{
APUP_HASH_ALGORITHM_UNKNOWN,
APUP_HASH_ALGORITHM_MD5,
APUP_HASH_ALGORITHM_SHA1,
APUP_HASH_ALGORITHM_SHA256,
APUP_HASH_ALGORITHM_SHA512,
} APUP_HASH_ALGORITHM;
struct APPLICATION_UPDATE_ENCLOSURE
{
LPWSTR wzUrl;
LPWSTR wzLocalName;
DWORD64 dw64Size;
BYTE* rgbDigest;
DWORD cbDigest;
APUP_HASH_ALGORITHM digestAlgorithm;
BOOL fInstaller;
};
struct APPLICATION_UPDATE_ENTRY
{
LPWSTR wzApplicationId;
LPWSTR wzApplicationType;
LPWSTR wzTitle;
LPWSTR wzSummary;
LPWSTR wzContentType;
LPWSTR wzContent;
LPWSTR wzUpgradeId;
BOOL fUpgradeExclusive;
VERUTIL_VERSION* pVersion;
VERUTIL_VERSION* pUpgradeVersion;
DWORD64 dw64TotalSize;
DWORD cEnclosures;
APPLICATION_UPDATE_ENCLOSURE* rgEnclosures;
};
struct APPLICATION_UPDATE_CHAIN
{
LPWSTR wzDefaultApplicationId;
LPWSTR wzDefaultApplicationType;
DWORD cEntries;
APPLICATION_UPDATE_ENTRY* rgEntries;
};
HRESULT DAPI ApupAllocChainFromAtom(
__in ATOM_FEED* pFeed,
__out APPLICATION_UPDATE_CHAIN** ppChain
);
HRESULT DAPI ApupFilterChain(
__in APPLICATION_UPDATE_CHAIN* pChain,
__in VERUTIL_VERSION* pVersion,
__out APPLICATION_UPDATE_CHAIN** ppFilteredChain
);
void DAPI ApupFreeChain(
__in APPLICATION_UPDATE_CHAIN* pChain
);
#ifdef __cplusplus
}
#endif
|