From dea25ba9bcfd65200b60339c2e4bc060cdf20723 Mon Sep 17 00:00:00 2001 From: Rob Mensching Date: Thu, 7 Mar 2024 01:44:51 -0800 Subject: Move wixstdba functions to Bal.wixext build --- src/ext/Bal/wixstdfn/inc/BalBaseBAFunctions.h | 1018 +++++++++++++++++++++++++ 1 file changed, 1018 insertions(+) create mode 100644 src/ext/Bal/wixstdfn/inc/BalBaseBAFunctions.h (limited to 'src/ext/Bal/wixstdfn/inc/BalBaseBAFunctions.h') diff --git a/src/ext/Bal/wixstdfn/inc/BalBaseBAFunctions.h b/src/ext/Bal/wixstdfn/inc/BalBaseBAFunctions.h new file mode 100644 index 00000000..fd284d9c --- /dev/null +++ b/src/ext/Bal/wixstdfn/inc/BalBaseBAFunctions.h @@ -0,0 +1,1018 @@ +#pragma once +// 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. + +#include +#include + +#include + +class CBalBaseBAFunctions : public IBAFunctions +{ +public: // IUnknown + virtual STDMETHODIMP QueryInterface( + __in REFIID riid, + __out LPVOID *ppvObject + ) + { + if (!ppvObject) + { + return E_INVALIDARG; + } + + *ppvObject = NULL; + + if (::IsEqualIID(__uuidof(IBAFunctions), riid)) + { + *ppvObject = static_cast(this); + } + else if (::IsEqualIID(__uuidof(IBootstrapperApplication), riid)) + { + *ppvObject = static_cast(this); + } + else if (::IsEqualIID(IID_IUnknown, riid)) + { + *ppvObject = static_cast(this); + } + else // no interface for requested iid + { + return E_NOINTERFACE; + } + + AddRef(); + return S_OK; + } + + virtual STDMETHODIMP_(ULONG) AddRef() + { + return ::InterlockedIncrement(&this->m_cReferences); + } + + virtual STDMETHODIMP_(ULONG) Release() + { + long l = ::InterlockedDecrement(&this->m_cReferences); + if (0 < l) + { + return l; + } + + delete this; + return 0; + } + +public: // IBootstrapperApplication + virtual STDMETHODIMP_(HRESULT) BAProc( + __in BOOTSTRAPPER_APPLICATION_MESSAGE /*message*/, + __in const LPVOID /*pvArgs*/, + __inout LPVOID /*pvResults*/ + ) + { + return E_NOTIMPL; + } + + virtual STDMETHODIMP_(void) BAProcFallback( + __in BOOTSTRAPPER_APPLICATION_MESSAGE /*message*/, + __in const LPVOID /*pvArgs*/, + __inout LPVOID /*pvResults*/, + __inout HRESULT* /*phr*/ + ) + { + } + + virtual STDMETHODIMP OnCreate( + __in IBootstrapperEngine* pEngine, + __in BOOTSTRAPPER_COMMAND* /*pCommand*/ + ) + { + HRESULT hr = S_OK; + + pEngine->AddRef(); + m_pEngine = pEngine; + + return hr; + } + + virtual STDMETHODIMP OnDestroy( + __in BOOL /*fReload*/ + ) + { + return S_OK; + } + + virtual STDMETHODIMP OnStartup() + { + return S_OK; + } + + virtual STDMETHODIMP OnShutdown( + __inout BOOTSTRAPPER_SHUTDOWN_ACTION* /*pAction*/ + ) + { + return S_OK; + } + + virtual STDMETHODIMP OnDetectBegin( + __in BOOL /*fCached*/, + __in BOOTSTRAPPER_REGISTRATION_TYPE /*registrationType*/, + __in DWORD /*cPackages*/, + __inout BOOL* /*pfCancel*/ + ) + { + return S_OK; + } + + virtual STDMETHODIMP OnDetectForwardCompatibleBundle( + __in_z LPCWSTR /*wzBundleId*/, + __in BOOTSTRAPPER_RELATION_TYPE /*relationType*/, + __in_z LPCWSTR /*wzBundleTag*/, + __in BOOL /*fPerMachine*/, + __in LPCWSTR /*wzVersion*/, + __in BOOL /*fMissingFromCache*/, + __inout BOOL* /*pfCancel*/ + ) + { + return S_OK; + } + + virtual STDMETHODIMP OnDetectUpdateBegin( + __in_z LPCWSTR /*wzUpdateLocation*/, + __inout BOOL* /*pfCancel*/, + __inout BOOL* /*pfSkip*/ + ) + { + return S_OK; + } + + virtual STDMETHODIMP OnDetectUpdate( + __in_z LPCWSTR /*wzUpdateLocation*/, + __in DWORD64 /*dw64Size*/, + __in_z_opt LPCWSTR /*wzHash*/, + __in BOOTSTRAPPER_UPDATE_HASH_TYPE /*hashAlgorithm*/, + __in LPCWSTR /*wzVersion*/, + __in_z LPCWSTR /*wzTitle*/, + __in_z LPCWSTR /*wzSummary*/, + __in_z LPCWSTR /*wzContentType*/, + __in_z LPCWSTR /*wzContent*/, + __inout BOOL* /*pfCancel*/, + __inout BOOL* /*pfStopProcessingUpdates*/ + ) + { + return S_OK; + } + + virtual STDMETHODIMP OnDetectUpdateComplete( + __in HRESULT /*hrStatus*/, + __inout BOOL* /*pfIgnoreError*/ + ) + { + return S_OK; + } + + virtual STDMETHODIMP OnDetectRelatedBundle( + __in_z LPCWSTR /*wzBundleId*/, + __in BOOTSTRAPPER_RELATION_TYPE /*relationType*/, + __in_z LPCWSTR /*wzBundleTag*/, + __in BOOL /*fPerMachine*/, + __in LPCWSTR /*wzVersion*/, + __in BOOL /*fMissingFromCache*/, + __inout BOOL* /*pfCancel*/ + ) + { + return S_OK; + } + + virtual STDMETHODIMP OnDetectPackageBegin( + __in_z LPCWSTR /*wzPackageId*/, + __inout BOOL* /*pfCancel*/ + ) + { + return S_OK; + } + + virtual STDMETHODIMP OnDetectCompatibleMsiPackage( + __in_z LPCWSTR /*wzPackageId*/, + __in_z LPCWSTR /*wzCompatiblePackageId*/, + __in LPCWSTR /*wzCompatiblePackageVersion*/, + __inout BOOL* /*pfCancel*/ + ) + { + return S_OK; + } + + virtual STDMETHODIMP OnDetectRelatedMsiPackage( + __in_z LPCWSTR /*wzPackageId*/, + __in_z LPCWSTR /*wzUpgradeCode*/, + __in_z LPCWSTR /*wzProductCode*/, + __in BOOL /*fPerMachine*/, + __in LPCWSTR /*wzVersion*/, + __in BOOTSTRAPPER_RELATED_OPERATION /*operation*/, + __inout BOOL* /*pfCancel*/ + ) + { + return S_OK; + } + + virtual STDMETHODIMP OnDetectPatchTarget( + __in_z LPCWSTR /*wzPackageId*/, + __in_z LPCWSTR /*wzProductCode*/, + __in BOOTSTRAPPER_PACKAGE_STATE /*patchState*/, + __inout BOOL* /*pfCancel*/ + ) + { + return S_OK; + } + + virtual STDMETHODIMP OnDetectMsiFeature( + __in_z LPCWSTR /*wzPackageId*/, + __in_z LPCWSTR /*wzFeatureId*/, + __in BOOTSTRAPPER_FEATURE_STATE /*state*/, + __inout BOOL* /*pfCancel*/ + ) + { + return S_OK; + } + + virtual STDMETHODIMP OnDetectPackageComplete( + __in_z LPCWSTR /*wzPackageId*/, + __in HRESULT /*hrStatus*/, + __in BOOTSTRAPPER_PACKAGE_STATE /*state*/, + __in BOOL /*fCached*/ + ) + { + return S_OK; + } + + virtual STDMETHODIMP OnDetectComplete( + __in HRESULT /*hrStatus*/, + __in BOOL /*fEligibleForCleanup*/ + ) + { + return S_OK; + } + + virtual STDMETHODIMP OnPlanBegin( + __in DWORD /*cPackages*/, + __inout BOOL* /*pfCancel*/ + ) + { + return S_OK; + } + + virtual STDMETHODIMP OnPlanRelatedBundle( + __in_z LPCWSTR /*wzBundleId*/, + __in BOOTSTRAPPER_REQUEST_STATE /*recommendedState*/, + __inout BOOTSTRAPPER_REQUEST_STATE* /*pRequestedState*/, + __inout BOOL* /*pfCancel*/ + ) + { + return S_OK; + } + + virtual STDMETHODIMP OnPlanRollbackBoundary( + __in_z LPCWSTR /*wzRollbackBoundaryId*/, + __in BOOL /*fRecommendedTransaction*/, + __inout BOOL* /*pfTransaction*/, + __inout BOOL* /*pfCancel*/ + ) + { + return S_OK; + } + + virtual STDMETHODIMP OnPlanPackageBegin( + __in_z LPCWSTR /*wzPackageId*/, + __in BOOTSTRAPPER_PACKAGE_STATE /*state*/, + __in BOOL /*fCached*/, + __in BOOTSTRAPPER_PACKAGE_CONDITION_RESULT /*installCondition*/, + __in BOOTSTRAPPER_PACKAGE_CONDITION_RESULT /*repairCondition*/, + __in BOOTSTRAPPER_REQUEST_STATE /*recommendedState*/, + __in BOOTSTRAPPER_CACHE_TYPE /*recommendedCacheType*/, + __inout BOOTSTRAPPER_REQUEST_STATE* /*pRequestState*/, + __inout BOOTSTRAPPER_CACHE_TYPE* /*pRequestedCacheType*/, + __inout BOOL* /*pfCancel*/ + ) + { + return S_OK; + } + + virtual STDMETHODIMP OnPlanCompatibleMsiPackageBegin( + __in_z LPCWSTR /*wzPackageId*/, + __in_z LPCWSTR /*wzCompatiblePackageId*/, + __in LPCWSTR /*wzCompatiblePackageVersion*/, + __in BOOL /*fRecommendedRemove*/, + __inout BOOL* /*pfRequestRemove*/, + __inout BOOL* /*pfCancel*/ + ) + { + return S_OK; + } + + virtual STDMETHODIMP OnPlanCompatibleMsiPackageComplete( + __in_z LPCWSTR /*wzPackageId*/, + __in_z LPCWSTR /*wzCompatiblePackageId*/, + __in HRESULT /*hrStatus*/, + __in BOOL /*fRequestedRemove*/ + ) + { + return S_OK; + } + + virtual STDMETHODIMP OnPlanPatchTarget( + __in_z LPCWSTR /*wzPackageId*/, + __in_z LPCWSTR /*wzProductCode*/, + __in BOOTSTRAPPER_REQUEST_STATE /*recommendedState*/, + __inout BOOTSTRAPPER_REQUEST_STATE* /*pRequestedState*/, + __inout BOOL* /*pfCancel*/ + ) + { + return S_OK; + } + + virtual STDMETHODIMP OnPlanMsiFeature( + __in_z LPCWSTR /*wzPackageId*/, + __in_z LPCWSTR /*wzFeatureId*/, + __in BOOTSTRAPPER_FEATURE_STATE /*recommendedState*/, + __inout BOOTSTRAPPER_FEATURE_STATE* /*pRequestedState*/, + __inout BOOL* /*pfCancel*/ + ) + { + return S_OK; + } + + virtual STDMETHODIMP OnPlanMsiPackage( + __in_z LPCWSTR /*wzPackageId*/, + __in BOOL /*fExecute*/, + __in BOOTSTRAPPER_ACTION_STATE /*action*/, + __in BOOTSTRAPPER_MSI_FILE_VERSIONING /*recommendedFileVersioning*/, + __inout BOOL* /*pfCancel*/, + __inout BURN_MSI_PROPERTY* /*pActionMsiProperty*/, + __inout INSTALLUILEVEL* /*pUiLevel*/, + __inout BOOL* /*pfDisableExternalUiHandler*/, + __inout BOOTSTRAPPER_MSI_FILE_VERSIONING* /*pFileVersioning*/ + ) + { + return S_OK; + } + + virtual STDMETHODIMP OnPlanPackageComplete( + __in_z LPCWSTR /*wzPackageId*/, + __in HRESULT /*hrStatus*/, + __in BOOTSTRAPPER_REQUEST_STATE /*requested*/ + ) + { + return S_OK; + } + + virtual STDMETHODIMP OnPlannedCompatiblePackage( + __in_z LPCWSTR /*wzPackageId*/, + __in_z LPCWSTR /*wzCompatiblePackageId*/, + __in BOOL /*fRemove*/ + ) + { + return S_OK; + } + + virtual STDMETHODIMP OnPlannedPackage( + __in_z LPCWSTR /*wzPackageId*/, + __in BOOTSTRAPPER_ACTION_STATE /*execute*/, + __in BOOTSTRAPPER_ACTION_STATE /*rollback*/, + __in BOOL /*fPlannedCache*/, + __in BOOL /*fPlannedUncache*/ + ) + { + return S_OK; + } + + virtual STDMETHODIMP OnPlanComplete( + __in HRESULT /*hrStatus*/ + ) + { + return S_OK; + } + + virtual STDMETHODIMP OnApplyBegin( + __in DWORD /*dwPhaseCount*/, + __inout BOOL* /*pfCancel*/ + ) + { + return S_OK; + } + + virtual STDMETHODIMP OnElevateBegin( + __inout BOOL* /*pfCancel*/ + ) + { + return S_OK; + } + + virtual STDMETHODIMP OnElevateComplete( + __in HRESULT /*hrStatus*/ + ) + { + return S_OK; + } + + virtual STDMETHODIMP OnProgress( + __in DWORD /*dwProgressPercentage*/, + __in DWORD /*dwOverallProgressPercentage*/, + __inout BOOL* /*pfCancel*/ + ) + { + return IDNOACTION; + } + + virtual STDMETHODIMP OnError( + __in BOOTSTRAPPER_ERROR_TYPE /*errorType*/, + __in_z LPCWSTR /*wzPackageId*/, + __in DWORD /*dwCode*/, + __in_z LPCWSTR /*wzError*/, + __in DWORD /*dwUIHint*/, + __in DWORD /*cData*/, + __in_ecount_z_opt(cData) LPCWSTR* /*rgwzData*/, + __in int /*nRecommendation*/, + __inout int* /*pResult*/ + ) + { + return S_OK; + } + + virtual STDMETHODIMP OnRegisterBegin( + __in BOOTSTRAPPER_REGISTRATION_TYPE /*recommendedRegistrationType*/, + __inout BOOL* /*pfCancel*/, + __inout BOOTSTRAPPER_REGISTRATION_TYPE* /*pRegistrationType*/ + ) + { + return S_OK; + } + + virtual STDMETHODIMP OnRegisterComplete( + __in HRESULT /*hrStatus*/ + ) + { + return S_OK; + } + + virtual STDMETHODIMP OnCacheBegin( + __inout BOOL* /*pfCancel*/ + ) + { + return S_OK; + } + + virtual STDMETHODIMP OnCachePackageBegin( + __in_z LPCWSTR /*wzPackageId*/, + __in DWORD /*cCachePayloads*/, + __in DWORD64 /*dw64PackageCacheSize*/, + __in BOOL /*fVital*/, + __inout BOOL* /*pfCancel*/ + ) + { + return S_OK; + } + + virtual STDMETHODIMP OnCacheAcquireBegin( + __in_z LPCWSTR /*wzPackageOrContainerId*/, + __in_z_opt LPCWSTR /*wzPayloadId*/, + __in_z LPCWSTR /*wzSource*/, + __in_z_opt LPCWSTR /*wzDownloadUrl*/, + __in_z_opt LPCWSTR /*wzPayloadContainerId*/, + __in BOOTSTRAPPER_CACHE_OPERATION /*recommendation*/, + __inout BOOTSTRAPPER_CACHE_OPERATION* /*pAction*/, + __inout BOOL* /*pfCancel*/ + ) + { + return S_OK; + } + + virtual STDMETHODIMP OnCacheAcquireProgress( + __in_z LPCWSTR /*wzPackageOrContainerId*/, + __in_z_opt LPCWSTR /*wzPayloadId*/, + __in DWORD64 /*dw64Progress*/, + __in DWORD64 /*dw64Total*/, + __in DWORD /*dwOverallPercentage*/, + __inout BOOL* /*pfCancel*/ + ) + { + return S_OK; + } + + virtual STDMETHODIMP OnCacheAcquireResolving( + __in_z_opt LPCWSTR /*wzPackageOrContainerId*/, + __in_z_opt LPCWSTR /*wzPayloadId*/, + __in_z LPCWSTR* /*rgSearchPaths*/, + __in DWORD /*cSearchPaths*/, + __in BOOL /*fFoundLocal*/, + __in DWORD /*dwRecommendedSearchPath*/, + __in_z_opt LPCWSTR /*wzDownloadUrl*/, + __in_z_opt LPCWSTR /*wzPayloadContainerId*/, + __in BOOTSTRAPPER_CACHE_RESOLVE_OPERATION /*recommendation*/, + __inout DWORD* /*pdwChosenSearchPath*/, + __inout BOOTSTRAPPER_CACHE_RESOLVE_OPERATION* /*pAction*/, + __inout BOOL* /*pfCancel*/ + ) + { + return S_OK; + } + + virtual STDMETHODIMP OnCacheAcquireComplete( + __in_z LPCWSTR /*wzPackageOrContainerId*/, + __in_z_opt LPCWSTR /*wzPayloadId*/, + __in HRESULT /*hrStatus*/, + __in BOOTSTRAPPER_CACHEACQUIRECOMPLETE_ACTION /*recommendation*/, + __inout BOOTSTRAPPER_CACHEACQUIRECOMPLETE_ACTION* /*pAction*/ + ) + { + return S_OK; + } + + virtual STDMETHODIMP OnCacheVerifyBegin( + __in_z LPCWSTR /*wzPackageOrContainerId*/, + __in_z LPCWSTR /*wzPayloadId*/, + __inout BOOL* /*pfCancel*/ + ) + { + return S_OK; + } + + virtual STDMETHODIMP OnCacheVerifyProgress( + __in_z_opt LPCWSTR /*wzPackageOrContainerId*/, + __in_z_opt LPCWSTR /*wzPayloadId*/, + __in DWORD64 /*dw64Progress*/, + __in DWORD64 /*dw64Total*/, + __in DWORD /*dwOverallPercentage*/, + __in BOOTSTRAPPER_CACHE_VERIFY_STEP /*verifyStep*/, + __inout BOOL* /*pfCancel*/ + ) + { + return S_OK; + } + + virtual STDMETHODIMP OnCacheVerifyComplete( + __in_z LPCWSTR /*wzPackageOrContainerId*/, + __in_z LPCWSTR /*wzPayloadId*/, + __in HRESULT /*hrStatus*/, + __in BOOTSTRAPPER_CACHEVERIFYCOMPLETE_ACTION /*recommendation*/, + __inout BOOTSTRAPPER_CACHEVERIFYCOMPLETE_ACTION* /*pAction*/ + ) + { + return S_OK; + } + + virtual STDMETHODIMP OnCachePackageComplete( + __in_z LPCWSTR /*wzPackageId*/, + __in HRESULT /*hrStatus*/, + __in BOOTSTRAPPER_CACHEPACKAGECOMPLETE_ACTION /*recommendation*/, + __inout BOOTSTRAPPER_CACHEPACKAGECOMPLETE_ACTION* /*pAction*/ + ) + { + return S_OK; + } + + virtual STDMETHODIMP OnCacheComplete( + __in HRESULT /*hrStatus*/ + ) + { + return S_OK; + } + + virtual STDMETHODIMP OnExecuteBegin( + __in DWORD /*cExecutingPackages*/, + __inout BOOL* /*pfCancel*/ + ) + { + return S_OK; + } + + virtual STDMETHODIMP OnExecutePackageBegin( + __in_z LPCWSTR /*wzPackageId*/, + __in BOOL /*fExecute*/, + __in BOOTSTRAPPER_ACTION_STATE /*action*/, + __in INSTALLUILEVEL /*uiLevel*/, + __in BOOL /*fDisableExternalUiHandler*/, + __inout BOOL* /*pfCancel*/ + ) + { + return S_OK; + } + + virtual STDMETHODIMP OnExecutePatchTarget( + __in_z LPCWSTR /*wzPackageId*/, + __in_z LPCWSTR /*wzTargetProductCode*/, + __inout BOOL* /*pfCancel*/ + ) + { + return S_OK; + } + + virtual STDMETHODIMP OnExecuteProgress( + __in_z LPCWSTR /*wzPackageId*/, + __in DWORD /*dwProgressPercentage*/, + __in DWORD /*dwOverallProgressPercentage*/, + __inout BOOL* /*pfCancel*/ + ) + { + return S_OK; + } + + virtual STDMETHODIMP OnExecuteMsiMessage( + __in_z LPCWSTR /*wzPackageId*/, + __in INSTALLMESSAGE /*messageType*/, + __in DWORD /*dwUIHint*/, + __in_z LPCWSTR /*wzMessage*/, + __in DWORD /*cData*/, + __in_ecount_z_opt(cData) LPCWSTR* /*rgwzData*/, + __in int /*nRecommendation*/, + __inout int* /*pResult*/ + ) + { + return S_OK; + } + + virtual STDMETHODIMP OnExecuteFilesInUse( + __in_z LPCWSTR /*wzPackageId*/, + __in DWORD /*cFiles*/, + __in_ecount_z(cFiles) LPCWSTR* /*rgwzFiles*/, + __in int /*nRecommendation*/, + __in BOOTSTRAPPER_FILES_IN_USE_TYPE /*source*/, + __inout int* /*pResult*/ + ) + { + return S_OK; + } + + virtual STDMETHODIMP OnExecutePackageComplete( + __in_z LPCWSTR /*wzPackageId*/, + __in HRESULT /*hrStatus*/, + __in BOOTSTRAPPER_APPLY_RESTART /*restart*/, + __in BOOTSTRAPPER_EXECUTEPACKAGECOMPLETE_ACTION /*recommendation*/, + __inout BOOTSTRAPPER_EXECUTEPACKAGECOMPLETE_ACTION* /*pAction*/ + ) + { + return S_OK; + } + + virtual STDMETHODIMP OnExecuteComplete( + __in HRESULT /*hrStatus*/ + ) + { + return S_OK; + } + + virtual STDMETHODIMP OnUnregisterBegin( + __in BOOTSTRAPPER_REGISTRATION_TYPE /*recommendedRegistrationType*/, + __inout BOOTSTRAPPER_REGISTRATION_TYPE* /*pRegistrationType*/ + ) + { + return S_OK; + } + + virtual STDMETHODIMP OnUnregisterComplete( + __in HRESULT /*hrStatus*/ + ) + { + return S_OK; + } + + virtual STDMETHODIMP OnApplyComplete( + __in HRESULT /*hrStatus*/, + __in BOOTSTRAPPER_APPLY_RESTART /*restart*/, + __in BOOTSTRAPPER_APPLYCOMPLETE_ACTION /*recommendation*/, + __inout BOOTSTRAPPER_APPLYCOMPLETE_ACTION* /*pAction*/ + ) + { + return S_OK; + } + + virtual STDMETHODIMP OnLaunchApprovedExeBegin( + __inout BOOL* /*pfCancel*/ + ) + { + return S_OK; + } + + virtual STDMETHODIMP OnLaunchApprovedExeComplete( + __in HRESULT /*hrStatus*/, + __in DWORD /*dwProcessId*/ + ) + { + return S_OK; + } + + virtual STDMETHODIMP OnBeginMsiTransactionBegin( + __in_z LPCWSTR /*wzTransactionId*/, + __inout BOOL* /*pfCancel*/ + ) + { + return S_OK; + } + + virtual STDMETHODIMP OnBeginMsiTransactionComplete( + __in_z LPCWSTR /*wzTransactionId*/, + __in HRESULT /*hrStatus*/ + ) + { + return S_OK; + } + + virtual STDMETHODIMP OnCommitMsiTransactionBegin( + __in_z LPCWSTR /*wzTransactionId*/, + __inout BOOL* /*pfCancel*/ + ) + { + return S_OK; + } + + virtual STDMETHODIMP OnCommitMsiTransactionComplete( + __in_z LPCWSTR /*wzTransactionId*/, + __in HRESULT /*hrStatus*/, + __in BOOTSTRAPPER_APPLY_RESTART /*restart*/, + __in BOOTSTRAPPER_EXECUTEMSITRANSACTIONCOMPLETE_ACTION /*recommendation*/, + __inout BOOTSTRAPPER_EXECUTEMSITRANSACTIONCOMPLETE_ACTION* /*pAction*/ + ) + { + return S_OK; + } + + virtual STDMETHODIMP OnRollbackMsiTransactionBegin( + __in_z LPCWSTR /*wzTransactionId*/ + ) + { + return S_OK; + } + + virtual STDMETHODIMP OnRollbackMsiTransactionComplete( + __in_z LPCWSTR /*wzTransactionId*/, + __in HRESULT /*hrStatus*/, + __in BOOTSTRAPPER_APPLY_RESTART /*restart*/, + __in BOOTSTRAPPER_EXECUTEMSITRANSACTIONCOMPLETE_ACTION /*recommendation*/, + __inout BOOTSTRAPPER_EXECUTEMSITRANSACTIONCOMPLETE_ACTION* /*pAction*/ + ) + { + return S_OK; + } + + virtual STDMETHODIMP OnPauseAutomaticUpdatesBegin( + ) + { + return S_OK; + } + + virtual STDMETHODIMP OnPauseAutomaticUpdatesComplete( + __in HRESULT /*hrStatus*/ + ) + { + return S_OK; + } + + virtual STDMETHODIMP OnSystemRestorePointBegin( + ) + { + return S_OK; + } + + virtual STDMETHODIMP OnSystemRestorePointComplete( + __in HRESULT /*hrStatus*/ + ) + { + return S_OK; + } + + virtual STDMETHODIMP OnPlanForwardCompatibleBundle( + __in_z LPCWSTR /*wzBundleId*/, + __in BOOTSTRAPPER_RELATION_TYPE /*relationType*/, + __in_z LPCWSTR /*wzBundleTag*/, + __in BOOL /*fPerMachine*/, + __in LPCWSTR /*wzVersion*/, + __in BOOL /*fRecommendedIgnoreBundle*/, + __inout BOOL* /*pfCancel*/, + __inout BOOL* /*pfIgnoreBundle*/ + ) + { + return S_OK; + } + + virtual STDMETHODIMP OnCacheContainerOrPayloadVerifyBegin( + __in_z_opt LPCWSTR /*wzPackageOrContainerId*/, + __in_z_opt LPCWSTR /*wzPayloadId*/, + __inout BOOL* /*pfCancel*/ + ) + { + return S_OK; + } + + virtual STDMETHODIMP OnCacheContainerOrPayloadVerifyProgress( + __in_z_opt LPCWSTR /*wzPackageOrContainerId*/, + __in_z_opt LPCWSTR /*wzPayloadId*/, + __in DWORD64 /*dw64Progress*/, + __in DWORD64 /*dw64Total*/, + __in DWORD /*dwOverallPercentage*/, + __inout BOOL* /*pfCancel*/ + ) + { + return S_OK; + } + + virtual STDMETHODIMP OnCacheContainerOrPayloadVerifyComplete( + __in_z_opt LPCWSTR /*wzPackageOrContainerId*/, + __in_z_opt LPCWSTR /*wzPayloadId*/, + __in HRESULT /*hrStatus*/ + ) + { + return S_OK; + } + + virtual STDMETHODIMP OnCachePayloadExtractBegin( + __in_z_opt LPCWSTR /*wzPackageOrContainerId*/, + __in_z_opt LPCWSTR /*wzPayloadId*/, + __inout BOOL* /*pfCancel*/ + ) + { + return S_OK; + } + + virtual STDMETHODIMP OnCachePayloadExtractProgress( + __in_z_opt LPCWSTR /*wzPackageOrContainerId*/, + __in_z_opt LPCWSTR /*wzPayloadId*/, + __in DWORD64 /*dw64Progress*/, + __in DWORD64 /*dw64Total*/, + __in DWORD /*dwOverallPercentage*/, + __inout BOOL* /*pfCancel*/ + ) + { + return S_OK; + } + + virtual STDMETHODIMP OnCachePayloadExtractComplete( + __in_z_opt LPCWSTR /*wzPackageOrContainerId*/, + __in_z_opt LPCWSTR /*wzPayloadId*/, + __in HRESULT /*hrStatus*/ + ) + { + return S_OK; + } + + virtual STDMETHODIMP OnPlanRestoreRelatedBundle( + __in_z LPCWSTR /*wzBundleId*/, + __in BOOTSTRAPPER_REQUEST_STATE /*recommendedState*/, + __inout BOOTSTRAPPER_REQUEST_STATE* /*pRequestedState*/, + __inout BOOL* /*pfCancel*/ + ) + { + return S_OK; + } + + virtual STDMETHODIMP OnPlanRelatedBundleType( + __in_z LPCWSTR /*wzBundleId*/, + __in BOOTSTRAPPER_RELATED_BUNDLE_PLAN_TYPE /*recommendedType*/, + __inout BOOTSTRAPPER_RELATED_BUNDLE_PLAN_TYPE* /*pRequestedType*/, + __inout BOOL* /*pfCancel*/ + ) + { + return S_OK; + } + + virtual STDMETHODIMP OnApplyDowngrade( + __in HRESULT /*hrRecommended*/, + __in HRESULT* /*phrStatus*/ + ) + { + return S_OK; + } + + virtual STDMETHODIMP OnExecuteProcessCancel( + __in_z LPCWSTR /*wzPackageId*/, + __in DWORD /*dwProcessId*/, + __in BOOTSTRAPPER_EXECUTEPROCESSCANCEL_ACTION /*recommendation*/, + __inout BOOTSTRAPPER_EXECUTEPROCESSCANCEL_ACTION* /*pAction*/ + ) + { + return S_OK; + } + + virtual STDMETHODIMP OnDetectRelatedBundlePackage( + __in_z LPCWSTR /*wzPackageId*/, + __in_z LPCWSTR /*wzBundleId*/, + __in BOOTSTRAPPER_RELATION_TYPE /*relationType*/, + __in BOOL /*fPerMachine*/, + __in LPCWSTR /*wzVersion*/, + __inout BOOL* /*pfCancel*/ + ) + { + return S_OK; + } + + virtual STDMETHODIMP OnCachePackageNonVitalValidationFailure( + __in_z LPCWSTR /*wzPackageId*/, + __in HRESULT /*hrStatus*/, + __in BOOTSTRAPPER_CACHEPACKAGENONVITALVALIDATIONFAILURE_ACTION /*recommendation*/, + __inout BOOTSTRAPPER_CACHEPACKAGENONVITALVALIDATIONFAILURE_ACTION* /*pAction*/ + ) + { + return S_OK; + } + +public: // IBAFunctions + virtual STDMETHODIMP OnPlan( + ) + { + return S_OK; + } + + virtual STDMETHODIMP OnThemeLoaded( + __in HWND hWnd + ) + { + HRESULT hr = S_OK; + + m_hwndParent = hWnd; + + return hr; + } + + virtual STDMETHODIMP WndProc( + __in HWND /*hWnd*/, + __in UINT /*uMsg*/, + __in WPARAM /*wParam*/, + __in LPARAM /*lParam*/, + __inout BOOL* /*pfProcessed*/, + __inout LRESULT* /*plResult*/ + ) + { + return S_OK; + } + + virtual STDMETHODIMP BAFunctionsProc( + __in BA_FUNCTIONS_MESSAGE /*message*/, + __in const LPVOID /*pvArgs*/, + __inout LPVOID /*pvResults*/, + __in_opt LPVOID /*pvContext*/ + ) + { + return E_NOTIMPL; + } + + virtual STDMETHODIMP OnThemeControlLoading( + __in LPCWSTR /*wzName*/, + __inout BOOL* /*pfProcessed*/, + __inout WORD* /*pwId*/, + __inout DWORD* /*pdwAutomaticBehaviorType*/ + ) + { + return S_OK; + } + + virtual STDMETHODIMP OnThemeControlWmCommand( + __in WPARAM /*wParam*/, + __in LPCWSTR /*wzName*/, + __in WORD /*wId*/, + __in HWND /*hWnd*/, + __inout BOOL* /*pfProcessed*/, + __inout LRESULT* /*plResult*/ + ) + { + return S_OK; + } + + virtual STDMETHODIMP OnThemeControlWmNotify( + __in LPNMHDR /*lParam*/, + __in LPCWSTR /*wzName*/, + __in WORD /*wId*/, + __in HWND /*hWnd*/, + __inout BOOL* /*pfProcessed*/, + __inout LRESULT* /*plResult*/ + ) + { + return S_OK; + } + + virtual STDMETHODIMP OnThemeControlLoaded( + __in LPCWSTR /*wzName*/, + __in WORD /*wId*/, + __in HWND /*hWnd*/, + __inout BOOL* /*pfProcessed*/ + ) + { + return S_OK; + } + +protected: + CBalBaseBAFunctions(HMODULE hModule) + { + m_cReferences = 1; + m_hModule = hModule; + + m_hwndParent = NULL; + m_pEngine = NULL; + } + + virtual ~CBalBaseBAFunctions() + { + ReleaseNullObject(m_pEngine); + } + +private: + long m_cReferences; + +protected: + IBootstrapperEngine* m_pEngine; + HMODULE m_hModule; + HWND m_hwndParent; +}; -- cgit v1.2.3-55-g6feb