aboutsummaryrefslogtreecommitdiff
path: root/src/engine/burnextension.h
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/engine/burnextension.h51
1 files changed, 51 insertions, 0 deletions
diff --git a/src/engine/burnextension.h b/src/engine/burnextension.h
new file mode 100644
index 00000000..43c8afe6
--- /dev/null
+++ b/src/engine/burnextension.h
@@ -0,0 +1,51 @@
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)
7extern "C" {
8#endif
9
10// structs
11
12typedef struct _BURN_EXTENSION_ENGINE_CONTEXT BURN_EXTENSION_ENGINE_CONTEXT;
13
14typedef struct _BURN_EXTENSION
15{
16 LPWSTR sczEntryPayloadId;
17 LPWSTR sczId;
18
19 BURN_PAYLOAD* pEntryPayload;
20
21 HMODULE hBextModule;
22 PFN_BUNDLE_EXTENSION_PROC pfnBurnExtensionProc;
23 LPVOID pvBurnExtensionProcContext;
24} BURN_EXTENSION;
25
26typedef struct _BURN_EXTENSIONS
27{
28 BURN_EXTENSION* rgExtensions;
29 DWORD cExtensions;
30} BURN_EXTENSIONS;
31
32// functions
33
34HRESULT BurnExtensionParseFromXml(
35 __in BURN_EXTENSIONS* pBurnExtensions,
36 __in BURN_PAYLOADS* pBaPayloads,
37 __in IXMLDOMNode* pixnBundle
38 );
39void BurnExtensionUninitialize(
40 __in BURN_EXTENSIONS* pBurnExtensions
41 );
42HRESULT BurnExtensionLoad(
43 __in BURN_EXTENSIONS* pBurnExtensions,
44 __in BURN_EXTENSION_ENGINE_CONTEXT* pEngineContext
45 );
46void BurnExtensionUnload(
47 __in BURN_EXTENSIONS* pBurnExtensions
48 );
49#if defined(__cplusplus)
50}
51#endif