main
h 54 lines 1.3 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 #if defined(__cplusplus)
6 extern "C" {
7 #endif
8
9
10 // structs
11
12 typedef struct _BURN_SECTION
13 {
14 HANDLE hEngineFile;
15 HANDLE hSourceEngineFile;
16
17 DWORD cbStub;
18 DWORD cbEngineSize; // stub + UX container + original certficiate
19 DWORD64 qwBundleSize; // stub + UX container + original certificate [+ attached containers* + final certificate]
20
21 DWORD dwChecksumOffset;
22 DWORD dwCertificateTableOffset;
23 DWORD_PTR dwOriginalChecksumAndSignatureOffset;
24
25 DWORD dwOriginalChecksum;
26 DWORD dwOriginalSignatureOffset;
27 DWORD dwOriginalSignatureSize;
28
29 DWORD dwFormat;
30 DWORD cContainers;
31 DWORD* rgcbContainers;
32 } BURN_SECTION;
33
34
35 HRESULT SectionInitialize(
36 __in BURN_SECTION* pSection,
37 __in HANDLE hEngineFile,
38 __in HANDLE hSourceEngineFile
39 );
40 void SectionUninitialize(
41 __in BURN_SECTION* pSection
42 );
43 HRESULT SectionGetAttachedContainerInfo(
44 __in BURN_SECTION* pSection,
45 __in DWORD iContainerIndex,
46 __in DWORD dwExpectedType,
47 __out DWORD64* pqwOffset,
48 __out DWORD64* pqwSize,
49 __out BOOL* pfPresent
50 );
51
52 #if defined(__cplusplus)
53 }
54 #endif