summaryrefslogtreecommitdiff
path: root/src/api/burn/balutil/BalBootstrapperEngine.cpp
diff options
context:
space:
mode:
authorJacob Hoover <jacob.hoover@greenheck.com>2022-11-10 10:48:23 -0600
committerSean Hall <r.sean.hall@gmail.com>2022-11-10 23:49:10 -0600
commitfa393914f12f6d6bc88a73e4d5b009da765f6dd5 (patch)
tree6dbf354d4542b3e085795b0a917eaafc1eead415 /src/api/burn/balutil/BalBootstrapperEngine.cpp
parentc843b47d6233153fa961c6d0e61edf7cedf255bb (diff)
downloadwix-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.cpp28
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,