main
h 60 lines 1.45 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 #define BEEAPI HRESULT __stdcall
5
6 #if defined(__cplusplus)
7 extern "C" {
8 #endif
9
10 // structs
11
12 typedef struct _BURN_EXTENSION_ENGINE_CONTEXT BURN_EXTENSION_ENGINE_CONTEXT;
13
14 typedef struct _BURN_EXTENSION
15 {
16 LPWSTR sczId;
17
18 BURN_PAYLOAD* pEntryPayload;
19
20 HMODULE hBextModule;
21 PFN_BOOTSTRAPPER_EXTENSION_PROC pfnBurnExtensionProc;
22 LPVOID pvBurnExtensionProcContext;
23 } BURN_EXTENSION;
24
25 typedef struct _BURN_EXTENSIONS
26 {
27 BURN_EXTENSION* rgExtensions;
28 DWORD cExtensions;
29 } BURN_EXTENSIONS;
30
31 // functions
32
33 HRESULT BurnExtensionParseFromXml(
34 __in BURN_EXTENSIONS* pBurnExtensions,
35 __in BURN_PAYLOADS* pBaPayloads,
36 __in IXMLDOMNode* pixnBundle
37 );
38 void BurnExtensionUninitialize(
39 __in BURN_EXTENSIONS* pBurnExtensions
40 );
41 HRESULT BurnExtensionLoad(
42 __in BURN_EXTENSIONS* pBurnExtensions,
43 __in BURN_EXTENSION_ENGINE_CONTEXT* pEngineContext
44 );
45 void BurnExtensionUnload(
46 __in BURN_EXTENSIONS* pBurnExtensions
47 );
48 HRESULT BurnExtensionFindById(
49 __in BURN_EXTENSIONS* pBurnExtensions,
50 __in_z LPCWSTR wzId,
51 __out BURN_EXTENSION** ppExtension
52 );
53 BEEAPI BurnExtensionPerformSearch(
54 __in BURN_EXTENSION* pExtension,
55 __in LPWSTR wzSearchId,
56 __in LPWSTR wzVariable
57 );
58 #if defined(__cplusplus)
59 }
60 #endif