92 lines
2.2 KiB
C
92 lines
2.2 KiB
C
#pragma once
|
|
//-------------------------------------------------------------------------------------------------
|
|
// <copyright file="apuputil.h" company="Outercurve Foundation">
|
|
// Copyright (c) 2004, Outercurve Foundation.
|
|
// This software is released under Microsoft Reciprocal License (MS-RL).
|
|
// The license and further copyright text can be found in the file
|
|
// LICENSE.TXT at the root directory of the distribution.
|
|
// </copyright>
|
|
//
|
|
// <summary>
|
|
// Header for Application Update helper functions.
|
|
// </summary>
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
|
#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";
|
|
|
|
enum APUP_HASH_ALGORITHM
|
|
{
|
|
APUP_HASH_ALGORITHM_UNKNOWN,
|
|
APUP_HASH_ALGORITHM_MD5,
|
|
APUP_HASH_ALGORITHM_SHA1,
|
|
APUP_HASH_ALGORITHM_SHA256,
|
|
};
|
|
|
|
|
|
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 wzUpgradeId;
|
|
BOOL fUpgradeExclusive;
|
|
DWORD64 dw64Version;
|
|
DWORD64 dw64UpgradeVersion;
|
|
|
|
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 DWORD64 dw64Version,
|
|
__out APPLICATION_UPDATE_CHAIN** ppFilteredChain
|
|
);
|
|
|
|
void DAPI ApupFreeChain(
|
|
__in APPLICATION_UPDATE_CHAIN* pChain
|
|
);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|