aboutsummaryrefslogtreecommitdiff
path: root/src/burn/engine/burnextension.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/burn/engine/burnextension.h')
-rw-r--r--src/burn/engine/burnextension.h61
1 files changed, 61 insertions, 0 deletions
diff --git a/src/burn/engine/burnextension.h b/src/burn/engine/burnextension.h
new file mode 100644
index 00000000..370ddd2d
--- /dev/null
+++ b/src/burn/engine/burnextension.h
@@ -0,0 +1,61 @@
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 );
49HRESULT BurnExtensionFindById(
50 __in BURN_EXTENSIONS* pBurnExtensions,
51 __in_z LPCWSTR wzId,
52 __out BURN_EXTENSION** ppExtension
53 );
54BEEAPI BurnExtensionPerformSearch(
55 __in BURN_EXTENSION* pExtension,
56 __in LPWSTR wzSearchId,
57 __in LPWSTR wzVariable
58 );
59#if defined(__cplusplus)
60}
61#endif