main
h 67 lines 1.51 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 // structs
10
11 typedef struct _BURN_APPROVED_EXE
12 {
13 LPWSTR sczId;
14 LPWSTR sczKey;
15 LPWSTR sczValueName;
16 BOOL fWin64;
17 } BURN_APPROVED_EXE;
18
19 typedef struct _BURN_APPROVED_EXES
20 {
21 BURN_APPROVED_EXE* rgApprovedExes;
22 DWORD cApprovedExes;
23 } BURN_APPROVED_EXES;
24
25 typedef struct _BURN_LAUNCH_APPROVED_EXE
26 {
27 HWND hwndParent;
28 LPWSTR sczId;
29 LPWSTR sczExecutablePath;
30 LPWSTR sczArguments;
31 DWORD dwWaitForInputIdleTimeout;
32 } BURN_LAUNCH_APPROVED_EXE;
33
34
35 // function declarations
36
37 HRESULT ApprovedExesParseFromXml(
38 __in BURN_APPROVED_EXES* pApprovedExes,
39 __in IXMLDOMNode* pixnBundle
40 );
41
42 void ApprovedExesUninitialize(
43 __in BURN_APPROVED_EXES* pApprovedExes
44 );
45 void ApprovedExesUninitializeLaunch(
46 __in BURN_LAUNCH_APPROVED_EXE* pLaunchApprovedExe
47 );
48 HRESULT ApprovedExesFindById(
49 __in BURN_APPROVED_EXES* pApprovedExes,
50 __in_z LPCWSTR wzId,
51 __out BURN_APPROVED_EXE** ppApprovedExe
52 );
53 HRESULT ApprovedExesLaunch(
54 __in BURN_VARIABLES* pVariables,
55 __in BURN_LAUNCH_APPROVED_EXE* pLaunchApprovedExe,
56 __out DWORD* pdwProcessId
57 );
58 HRESULT ApprovedExesVerifySecureLocation(
59 __in BURN_CACHE* pCache,
60 __in BURN_VARIABLES* pVariables,
61 __in LPCWSTR wzExecutablePath
62 );
63
64
65 #if defined(__cplusplus)
66 }
67 #endif