From 8cbfc326cccf8d9b3b63cb6f752fc770f7dee0fc Mon Sep 17 00:00:00 2001 From: Sean Hall Date: Tue, 29 Jun 2021 19:14:02 -0500 Subject: Expose overridable variable APIs in balutil and Mba.Core. Fixes #4777 --- src/api/burn/balutil/inc/balinfo.h | 55 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) (limited to 'src/api/burn/balutil/inc') diff --git a/src/api/burn/balutil/inc/balinfo.h b/src/api/burn/balutil/inc/balinfo.h index 8c2155e9..0fce35ec 100644 --- a/src/api/burn/balutil/inc/balinfo.h +++ b/src/api/burn/balutil/inc/balinfo.h @@ -47,15 +47,50 @@ typedef struct _BAL_INFO_PACKAGES } BAL_INFO_PACKAGES; +typedef struct _BAL_INFO_OVERRIDABLE_VARIABLE +{ + LPWSTR sczName; +} BAL_INFO_OVERRIDABLE_VARIABLE; + + +typedef struct _BAL_INFO_OVERRIDABLE_VARIABLES +{ + BAL_INFO_OVERRIDABLE_VARIABLE* rgVariables; + DWORD cVariables; + STRINGDICT_HANDLE sdVariables; +} BAL_INFO_OVERRIDABLE_VARIABLES; + + typedef struct _BAL_INFO_BUNDLE { BOOL fPerMachine; LPWSTR sczName; LPWSTR sczLogVariable; BAL_INFO_PACKAGES packages; + BAL_INFO_OVERRIDABLE_VARIABLES overridableVariables; } BAL_INFO_BUNDLE; +typedef struct _BAL_INFO_COMMAND +{ + DWORD cUnknownArgs; + LPWSTR* rgUnknownArgs; + DWORD cVariables; + LPWSTR* rgVariableNames; + LPWSTR* rgVariableValues; +} BAL_INFO_COMMAND; + + +/******************************************************************* + BalInfoParseCommandLine - parses wzCommandLine from BOOTSTRAPPER_COMMAND. + +********************************************************************/ +HRESULT DAPI BalInfoParseCommandLine( + __in BAL_INFO_COMMAND* pCommand, + __in LPCWSTR wzCommandLine + ); + + /******************************************************************* BalInfoParseFromXml - loads the bundle and package info from the UX manifest. @@ -100,6 +135,26 @@ DAPI_(void) BalInfoUninitialize( ); +/******************************************************************* + BalInfoUninitializeCommandLine - uninitializes BAL_INFO_COMMAND. + +********************************************************************/ +void DAPI BalInfoUninitializeCommandLine( + __in BAL_INFO_COMMAND* pCommand +); + + +/******************************************************************* + BalInfoSetOverridableVariablesFromEngine - sets overridable variables from command line. + + ********************************************************************/ +HRESULT DAPI BalSetOverridableVariablesFromEngine( + __in BAL_INFO_OVERRIDABLE_VARIABLES* pOverridableVariables, + __in BAL_INFO_COMMAND* pCommand, + __in IBootstrapperEngine* pEngine + ); + + #ifdef __cplusplus } #endif -- cgit v1.2.3-55-g6feb