diff options
| author | Jacob Hoover <jacob.hoover@greenheck.com> | 2022-11-10 10:48:23 -0600 |
|---|---|---|
| committer | Sean Hall <r.sean.hall@gmail.com> | 2022-11-10 23:49:10 -0600 |
| commit | fa393914f12f6d6bc88a73e4d5b009da765f6dd5 (patch) | |
| tree | 6dbf354d4542b3e085795b0a917eaafc1eead415 /src/api/burn/balutil/BalBootstrapperEngine.cpp | |
| parent | c843b47d6233153fa961c6d0e61edf7cedf255bb (diff) | |
| download | wix-fa393914f12f6d6bc88a73e4d5b009da765f6dd5.tar.gz wix-fa393914f12f6d6bc88a73e4d5b009da765f6dd5.tar.bz2 wix-fa393914f12f6d6bc88a73e4d5b009da765f6dd5.zip | |
WIXFEAT-3704 - Allow access to persisted variables from related bundles
Diffstat (limited to 'src/api/burn/balutil/BalBootstrapperEngine.cpp')
| -rw-r--r-- | src/api/burn/balutil/BalBootstrapperEngine.cpp | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/api/burn/balutil/BalBootstrapperEngine.cpp b/src/api/burn/balutil/BalBootstrapperEngine.cpp index 898a8a15..be53c6b9 100644 --- a/src/api/burn/balutil/BalBootstrapperEngine.cpp +++ b/src/api/burn/balutil/BalBootstrapperEngine.cpp | |||
| @@ -158,6 +158,34 @@ public: // IBootstrapperEngine | |||
| 158 | return hr; | 158 | return hr; |
| 159 | } | 159 | } |
| 160 | 160 | ||
| 161 | virtual STDMETHODIMP GetRelatedBundleVariable( | ||
| 162 | __in_z LPCWSTR wzBundleId, | ||
| 163 | __in_z LPCWSTR wzVariable, | ||
| 164 | __out_ecount_opt(*pcchValue) LPWSTR wzValue, | ||
| 165 | __inout SIZE_T* pcchValue | ||
| 166 | ) | ||
| 167 | { | ||
| 168 | HRESULT hr = S_OK; | ||
| 169 | BAENGINE_GETRELATEDBUNDLEVARIABLE_ARGS args = { }; | ||
| 170 | BAENGINE_GETRELATEDBUNDLEVARIABLE_RESULTS results = { }; | ||
| 171 | |||
| 172 | ExitOnNull(pcchValue, hr, E_INVALIDARG, "pcchValue is required"); | ||
| 173 | |||
| 174 | args.cbSize = sizeof(args); | ||
| 175 | args.wzBundleId = wzBundleId; | ||
| 176 | args.wzVariable = wzVariable; | ||
| 177 | |||
| 178 | results.cbSize = sizeof(results); | ||
| 179 | results.wzValue = wzValue; | ||
| 180 | results.cchValue = *pcchValue; | ||
| 181 | |||
| 182 | hr = m_pfnBAEngineProc(BOOTSTRAPPER_ENGINE_MESSAGE_GETRELATEDBUNDLEVARIABLE, &args, &results, m_pvBAEngineProcContext); | ||
| 183 | |||
| 184 | *pcchValue = results.cchValue; | ||
| 185 | LExit: | ||
| 186 | return hr; | ||
| 187 | } | ||
| 188 | |||
| 161 | virtual STDMETHODIMP FormatString( | 189 | virtual STDMETHODIMP FormatString( |
| 162 | __in_z LPCWSTR wzIn, | 190 | __in_z LPCWSTR wzIn, |
| 163 | __out_ecount_opt(*pcchOut) LPWSTR wzOut, | 191 | __out_ecount_opt(*pcchOut) LPWSTR wzOut, |
