main
h 58 lines 1.56 KB
Raw
1 #pragma once
2 // 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.
3
4
5 #ifdef __cplusplus
6 extern "C" {
7 #endif
8
9 typedef struct _BAL_CONDITION
10 {
11 LPWSTR sczCondition;
12 LPWSTR sczMessage;
13 } BAL_CONDITION;
14
15
16 typedef struct _BAL_CONDITIONS
17 {
18 BAL_CONDITION* rgConditions;
19 DWORD cConditions;
20 } BAL_CONDITIONS;
21
22
23 /*******************************************************************
24 BalConditionsParseFromXml - loads the conditions from the UX manifest.
25
26 ********************************************************************/
27 DAPI_(HRESULT) BalConditionsParseFromXml(
28 __in BAL_CONDITIONS* pConditions,
29 __in IXMLDOMDocument* pixdManifest,
30 __in_opt WIX_LOCALIZATION* pWixLoc
31 );
32
33
34 /*******************************************************************
35 BalConditionEvaluate - evaluates condition against the provided IBurnCore.
36
37 NOTE: psczMessage is optional.
38 ********************************************************************/
39 DAPI_(HRESULT) BalConditionEvaluate(
40 __in BAL_CONDITION* pCondition,
41 __in IBootstrapperEngine* pEngine,
42 __out BOOL* pfResult,
43 __out_z_opt LPWSTR* psczMessage
44 );
45
46
47 /*******************************************************************
48 BalConditionsUninitialize - uninitializes any conditions previously loaded.
49
50 ********************************************************************/
51 DAPI_(void) BalConditionsUninitialize(
52 __in BAL_CONDITIONS* pConditions
53 );
54
55
56 #ifdef __cplusplus
57 }
58 #endif