summaryrefslogtreecommitdiff
path: root/src/burn/engine/EngineForApplication.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/burn/engine/EngineForApplication.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/burn/engine/EngineForApplication.cpp')
-rw-r--r--src/burn/engine/EngineForApplication.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/burn/engine/EngineForApplication.cpp b/src/burn/engine/EngineForApplication.cpp
index 45bfaf83..eb77cc50 100644
--- a/src/burn/engine/EngineForApplication.cpp
+++ b/src/burn/engine/EngineForApplication.cpp
@@ -427,6 +427,22 @@ LExit:
427 return hr; 427 return hr;
428} 428}
429 429
430static HRESULT BAEngineGetRelatedBundleVariable(
431 __in BOOTSTRAPPER_ENGINE_CONTEXT* pContext,
432 __in const LPVOID pvArgs,
433 __inout LPVOID pvResults
434 )
435{
436 HRESULT hr = S_OK;
437 ValidateMessageArgs(hr, pvArgs, BAENGINE_GETRELATEDBUNDLEVARIABLE_ARGS, pArgs);
438 ValidateMessageResults(hr, pvResults, BAENGINE_GETRELATEDBUNDLEVARIABLE_RESULTS, pResults);
439
440 hr = ExternalEngineGetRelatedBundleVariable(pContext->pEngineState, pArgs->wzBundleId, pArgs->wzVariable, pResults->wzValue, &pResults->cchValue);
441
442LExit:
443 return hr;
444}
445
430HRESULT WINAPI EngineForApplicationProc( 446HRESULT WINAPI EngineForApplicationProc(
431 __in BOOTSTRAPPER_ENGINE_MESSAGE message, 447 __in BOOTSTRAPPER_ENGINE_MESSAGE message,
432 __in const LPVOID pvArgs, 448 __in const LPVOID pvArgs,
@@ -519,6 +535,9 @@ HRESULT WINAPI EngineForApplicationProc(
519 case BOOTSTRAPPER_ENGINE_MESSAGE_COMPAREVERSIONS: 535 case BOOTSTRAPPER_ENGINE_MESSAGE_COMPAREVERSIONS:
520 hr = BAEngineCompareVersions(pContext, pvArgs, pvResults); 536 hr = BAEngineCompareVersions(pContext, pvArgs, pvResults);
521 break; 537 break;
538 case BOOTSTRAPPER_ENGINE_MESSAGE_GETRELATEDBUNDLEVARIABLE:
539 hr = BAEngineGetRelatedBundleVariable(pContext, pvArgs, pvResults);
540 break;
522 default: 541 default:
523 hr = E_NOTIMPL; 542 hr = E_NOTIMPL;
524 break; 543 break;