diff options
Diffstat (limited to 'src/burn/engine/burnextension.cpp')
| -rw-r--r-- | src/burn/engine/burnextension.cpp | 88 |
1 files changed, 44 insertions, 44 deletions
diff --git a/src/burn/engine/burnextension.cpp b/src/burn/engine/burnextension.cpp index ee4b1542..536dbcc9 100644 --- a/src/burn/engine/burnextension.cpp +++ b/src/burn/engine/burnextension.cpp | |||
| @@ -5,7 +5,7 @@ | |||
| 5 | 5 | ||
| 6 | static HRESULT SendRequiredBextMessage( | 6 | static HRESULT SendRequiredBextMessage( |
| 7 | __in BURN_EXTENSION* pExtension, | 7 | __in BURN_EXTENSION* pExtension, |
| 8 | __in BUNDLE_EXTENSION_MESSAGE message, | 8 | __in BOOTSTRAPPER_EXTENSION_MESSAGE message, |
| 9 | __in const LPVOID pvArgs, | 9 | __in const LPVOID pvArgs, |
| 10 | __inout LPVOID pvResults | 10 | __inout LPVOID pvResults |
| 11 | ); | 11 | ); |
| @@ -13,7 +13,7 @@ static HRESULT SendRequiredBextMessage( | |||
| 13 | // function definitions | 13 | // function definitions |
| 14 | 14 | ||
| 15 | /******************************************************************* | 15 | /******************************************************************* |
| 16 | BurnExtensionParseFromXml - | 16 | BurnExtensionParseFromXml - |
| 17 | 17 | ||
| 18 | *******************************************************************/ | 18 | *******************************************************************/ |
| 19 | EXTERN_C HRESULT BurnExtensionParseFromXml( | 19 | EXTERN_C HRESULT BurnExtensionParseFromXml( |
| @@ -28,22 +28,22 @@ EXTERN_C HRESULT BurnExtensionParseFromXml( | |||
| 28 | DWORD cNodes = 0; | 28 | DWORD cNodes = 0; |
| 29 | LPWSTR scz = NULL; | 29 | LPWSTR scz = NULL; |
| 30 | 30 | ||
| 31 | // Select BundleExtension nodes. | 31 | // Select BootstrapperExtension nodes. |
| 32 | hr = XmlSelectNodes(pixnBundle, L"BundleExtension", &pixnNodes); | 32 | hr = XmlSelectNodes(pixnBundle, L"BootstrapperExtension", &pixnNodes); |
| 33 | ExitOnFailure(hr, "Failed to select BundleExtension nodes."); | 33 | ExitOnFailure(hr, "Failed to select BootstrapperExtension nodes."); |
| 34 | 34 | ||
| 35 | // Get BundleExtension node count. | 35 | // Get BootstrapperExtension node count. |
| 36 | hr = pixnNodes->get_length((long*)&cNodes); | 36 | hr = pixnNodes->get_length((long*)&cNodes); |
| 37 | ExitOnFailure(hr, "Failed to get BundleExtension node count."); | 37 | ExitOnFailure(hr, "Failed to get BootstrapperExtension node count."); |
| 38 | 38 | ||
| 39 | if (!cNodes) | 39 | if (!cNodes) |
| 40 | { | 40 | { |
| 41 | ExitFunction(); | 41 | ExitFunction(); |
| 42 | } | 42 | } |
| 43 | 43 | ||
| 44 | // Allocate memory for BundleExtensions. | 44 | // Allocate memory for BootstrapperExtensions. |
| 45 | pBurnExtensions->rgExtensions = (BURN_EXTENSION*)MemAlloc(sizeof(BURN_EXTENSION) * cNodes, TRUE); | 45 | pBurnExtensions->rgExtensions = (BURN_EXTENSION*)MemAlloc(sizeof(BURN_EXTENSION) * cNodes, TRUE); |
| 46 | ExitOnNull(pBurnExtensions->rgExtensions, hr, E_OUTOFMEMORY, "Failed to allocate memory for BundleExtension structs."); | 46 | ExitOnNull(pBurnExtensions->rgExtensions, hr, E_OUTOFMEMORY, "Failed to allocate memory for BootstrapperExtension structs."); |
| 47 | 47 | ||
| 48 | pBurnExtensions->cExtensions = cNodes; | 48 | pBurnExtensions->cExtensions = cNodes; |
| 49 | 49 | ||
| @@ -64,7 +64,7 @@ EXTERN_C HRESULT BurnExtensionParseFromXml( | |||
| 64 | ExitOnFailure(hr, "Failed to get @EntryPayloadSourcePath."); | 64 | ExitOnFailure(hr, "Failed to get @EntryPayloadSourcePath."); |
| 65 | 65 | ||
| 66 | hr = PayloadFindEmbeddedBySourcePath(pBaPayloads->sdhPayloads, scz, &pExtension->pEntryPayload); | 66 | hr = PayloadFindEmbeddedBySourcePath(pBaPayloads->sdhPayloads, scz, &pExtension->pEntryPayload); |
| 67 | ExitOnFailure(hr, "Failed to find BundleExtension EntryPayload '%ls'.", pExtension->sczId); | 67 | ExitOnFailure(hr, "Failed to find BootstrapperExtension EntryPayload '%ls'.", pExtension->sczId); |
| 68 | 68 | ||
| 69 | // prepare next iteration | 69 | // prepare next iteration |
| 70 | ReleaseNullObject(pixnNode); | 70 | ReleaseNullObject(pixnNode); |
| @@ -81,7 +81,7 @@ LExit: | |||
| 81 | } | 81 | } |
| 82 | 82 | ||
| 83 | /******************************************************************* | 83 | /******************************************************************* |
| 84 | BurnExtensionUninitialize - | 84 | BurnExtensionUninitialize - |
| 85 | 85 | ||
| 86 | *******************************************************************/ | 86 | *******************************************************************/ |
| 87 | EXTERN_C void BurnExtensionUninitialize( | 87 | EXTERN_C void BurnExtensionUninitialize( |
| @@ -104,7 +104,7 @@ EXTERN_C void BurnExtensionUninitialize( | |||
| 104 | } | 104 | } |
| 105 | 105 | ||
| 106 | /******************************************************************* | 106 | /******************************************************************* |
| 107 | BurnExtensionLoad - | 107 | BurnExtensionLoad - |
| 108 | 108 | ||
| 109 | *******************************************************************/ | 109 | *******************************************************************/ |
| 110 | EXTERN_C HRESULT BurnExtensionLoad( | 110 | EXTERN_C HRESULT BurnExtensionLoad( |
| @@ -113,59 +113,59 @@ EXTERN_C HRESULT BurnExtensionLoad( | |||
| 113 | ) | 113 | ) |
| 114 | { | 114 | { |
| 115 | HRESULT hr = S_OK; | 115 | HRESULT hr = S_OK; |
| 116 | LPWSTR sczBundleExtensionDataPath = NULL; | 116 | LPWSTR sczBootstrapperExtensionDataPath = NULL; |
| 117 | BUNDLE_EXTENSION_CREATE_ARGS args = { }; | 117 | BOOTSTRAPPER_EXTENSION_CREATE_ARGS args = { }; |
| 118 | BUNDLE_EXTENSION_CREATE_RESULTS results = { }; | 118 | BOOTSTRAPPER_EXTENSION_CREATE_RESULTS results = { }; |
| 119 | 119 | ||
| 120 | if (!pBurnExtensions->rgExtensions || !pBurnExtensions->cExtensions) | 120 | if (!pBurnExtensions->rgExtensions || !pBurnExtensions->cExtensions) |
| 121 | { | 121 | { |
| 122 | ExitFunction(); | 122 | ExitFunction(); |
| 123 | } | 123 | } |
| 124 | 124 | ||
| 125 | hr = PathConcat(pEngineContext->pEngineState->userExperience.sczTempDirectory, L"BundleExtensionData.xml", &sczBundleExtensionDataPath); | 125 | hr = PathConcat(pEngineContext->pEngineState->userExperience.sczTempDirectory, L"BootstrapperExtensionData.xml", &sczBootstrapperExtensionDataPath); |
| 126 | ExitOnFailure(hr, "Failed to get BundleExtensionDataPath."); | 126 | ExitOnFailure(hr, "Failed to get BootstrapperExtensionDataPath."); |
| 127 | 127 | ||
| 128 | for (DWORD i = 0; i < pBurnExtensions->cExtensions; ++i) | 128 | for (DWORD i = 0; i < pBurnExtensions->cExtensions; ++i) |
| 129 | { | 129 | { |
| 130 | BURN_EXTENSION* pExtension = &pBurnExtensions->rgExtensions[i]; | 130 | BURN_EXTENSION* pExtension = &pBurnExtensions->rgExtensions[i]; |
| 131 | 131 | ||
| 132 | memset(&args, 0, sizeof(BUNDLE_EXTENSION_CREATE_ARGS)); | 132 | memset(&args, 0, sizeof(BOOTSTRAPPER_EXTENSION_CREATE_ARGS)); |
| 133 | memset(&results, 0, sizeof(BUNDLE_EXTENSION_CREATE_RESULTS)); | 133 | memset(&results, 0, sizeof(BOOTSTRAPPER_EXTENSION_CREATE_RESULTS)); |
| 134 | 134 | ||
| 135 | args.cbSize = sizeof(BUNDLE_EXTENSION_CREATE_ARGS); | 135 | args.cbSize = sizeof(BOOTSTRAPPER_EXTENSION_CREATE_ARGS); |
| 136 | args.pfnBundleExtensionEngineProc = EngineForExtensionProc; | 136 | args.pfnBootstrapperExtensionEngineProc = EngineForExtensionProc; |
| 137 | args.pvBundleExtensionEngineProcContext = pEngineContext; | 137 | args.pvBootstrapperExtensionEngineProcContext = pEngineContext; |
| 138 | args.qwEngineAPIVersion = MAKEQWORDVERSION(2021, 4, 27, 0); | 138 | args.qwEngineAPIVersion = MAKEQWORDVERSION(2021, 4, 27, 0); |
| 139 | args.wzBootstrapperWorkingFolder = pEngineContext->pEngineState->userExperience.sczTempDirectory; | 139 | args.wzBootstrapperWorkingFolder = pEngineContext->pEngineState->userExperience.sczTempDirectory; |
| 140 | args.wzBundleExtensionDataPath = sczBundleExtensionDataPath; | 140 | args.wzBootstrapperExtensionDataPath = sczBootstrapperExtensionDataPath; |
| 141 | args.wzExtensionId = pExtension->sczId; | 141 | args.wzExtensionId = pExtension->sczId; |
| 142 | 142 | ||
| 143 | results.cbSize = sizeof(BUNDLE_EXTENSION_CREATE_RESULTS); | 143 | results.cbSize = sizeof(BOOTSTRAPPER_EXTENSION_CREATE_RESULTS); |
| 144 | 144 | ||
| 145 | // Load BundleExtension DLL. | 145 | // Load BootstrapperExtension DLL. |
| 146 | pExtension->hBextModule = ::LoadLibraryExW(pExtension->pEntryPayload->sczLocalFilePath, NULL, LOAD_WITH_ALTERED_SEARCH_PATH); | 146 | pExtension->hBextModule = ::LoadLibraryExW(pExtension->pEntryPayload->sczLocalFilePath, NULL, LOAD_WITH_ALTERED_SEARCH_PATH); |
| 147 | ExitOnNullWithLastError(pExtension->hBextModule, hr, "Failed to load BundleExtension DLL '%ls': '%ls'.", pExtension->sczId, pExtension->pEntryPayload->sczLocalFilePath); | 147 | ExitOnNullWithLastError(pExtension->hBextModule, hr, "Failed to load BootstrapperExtension DLL '%ls': '%ls'.", pExtension->sczId, pExtension->pEntryPayload->sczLocalFilePath); |
| 148 | 148 | ||
| 149 | // Get BundleExtensionCreate entry-point. | 149 | // Get BootstrapperExtensionCreate entry-point. |
| 150 | PFN_BUNDLE_EXTENSION_CREATE pfnCreate = (PFN_BUNDLE_EXTENSION_CREATE)::GetProcAddress(pExtension->hBextModule, "BundleExtensionCreate"); | 150 | PFN_BOOTSTRAPPER_EXTENSION_CREATE pfnCreate = (PFN_BOOTSTRAPPER_EXTENSION_CREATE)::GetProcAddress(pExtension->hBextModule, "BootstrapperExtensionCreate"); |
| 151 | ExitOnNullWithLastError(pfnCreate, hr, "Failed to get BundleExtensionCreate entry-point '%ls'.", pExtension->sczId); | 151 | ExitOnNullWithLastError(pfnCreate, hr, "Failed to get BootstrapperExtensionCreate entry-point '%ls'.", pExtension->sczId); |
| 152 | 152 | ||
| 153 | // Create BundleExtension. | 153 | // Create BootstrapperExtension. |
| 154 | hr = pfnCreate(&args, &results); | 154 | hr = pfnCreate(&args, &results); |
| 155 | ExitOnFailure(hr, "Failed to create BundleExtension '%ls'.", pExtension->sczId); | 155 | ExitOnFailure(hr, "Failed to create BootstrapperExtension '%ls'.", pExtension->sczId); |
| 156 | 156 | ||
| 157 | pExtension->pfnBurnExtensionProc = results.pfnBundleExtensionProc; | 157 | pExtension->pfnBurnExtensionProc = results.pfnBootstrapperExtensionProc; |
| 158 | pExtension->pvBurnExtensionProcContext = results.pvBundleExtensionProcContext; | 158 | pExtension->pvBurnExtensionProcContext = results.pvBootstrapperExtensionProcContext; |
| 159 | } | 159 | } |
| 160 | 160 | ||
| 161 | LExit: | 161 | LExit: |
| 162 | ReleaseStr(sczBundleExtensionDataPath); | 162 | ReleaseStr(sczBootstrapperExtensionDataPath); |
| 163 | 163 | ||
| 164 | return hr; | 164 | return hr; |
| 165 | } | 165 | } |
| 166 | 166 | ||
| 167 | /******************************************************************* | 167 | /******************************************************************* |
| 168 | BurnExtensionUnload - | 168 | BurnExtensionUnload - |
| 169 | 169 | ||
| 170 | *******************************************************************/ | 170 | *******************************************************************/ |
| 171 | EXTERN_C void BurnExtensionUnload( | 171 | EXTERN_C void BurnExtensionUnload( |
| @@ -182,18 +182,18 @@ EXTERN_C void BurnExtensionUnload( | |||
| 182 | 182 | ||
| 183 | if (pExtension->hBextModule) | 183 | if (pExtension->hBextModule) |
| 184 | { | 184 | { |
| 185 | // Get BundleExtensionDestroy entry-point and call it if it exists. | 185 | // Get BootstrapperExtensionDestroy entry-point and call it if it exists. |
| 186 | PFN_BUNDLE_EXTENSION_DESTROY pfnDestroy = (PFN_BUNDLE_EXTENSION_DESTROY)::GetProcAddress(pExtension->hBextModule, "BundleExtensionDestroy"); | 186 | PFN_BOOTSTRAPPER_EXTENSION_DESTROY pfnDestroy = (PFN_BOOTSTRAPPER_EXTENSION_DESTROY)::GetProcAddress(pExtension->hBextModule, "BootstrapperExtensionDestroy"); |
| 187 | if (pfnDestroy) | 187 | if (pfnDestroy) |
| 188 | { | 188 | { |
| 189 | pfnDestroy(); | 189 | pfnDestroy(); |
| 190 | } | 190 | } |
| 191 | 191 | ||
| 192 | // Free BundleExtension DLL. | 192 | // Free BootstrapperExtension DLL. |
| 193 | if (!::FreeLibrary(pExtension->hBextModule)) | 193 | if (!::FreeLibrary(pExtension->hBextModule)) |
| 194 | { | 194 | { |
| 195 | hr = HRESULT_FROM_WIN32(::GetLastError()); | 195 | hr = HRESULT_FROM_WIN32(::GetLastError()); |
| 196 | TraceError(hr, "Failed to unload BundleExtension DLL."); | 196 | TraceError(hr, "Failed to unload BootstrapperExtension DLL."); |
| 197 | } | 197 | } |
| 198 | pExtension->hBextModule = NULL; | 198 | pExtension->hBextModule = NULL; |
| 199 | } | 199 | } |
| @@ -234,8 +234,8 @@ EXTERN_C BEEAPI BurnExtensionPerformSearch( | |||
| 234 | ) | 234 | ) |
| 235 | { | 235 | { |
| 236 | HRESULT hr = S_OK; | 236 | HRESULT hr = S_OK; |
| 237 | BUNDLE_EXTENSION_SEARCH_ARGS args = { }; | 237 | BOOTSTRAPPER_EXTENSION_SEARCH_ARGS args = { }; |
| 238 | BUNDLE_EXTENSION_SEARCH_RESULTS results = { }; | 238 | BOOTSTRAPPER_EXTENSION_SEARCH_RESULTS results = { }; |
| 239 | 239 | ||
| 240 | args.cbSize = sizeof(args); | 240 | args.cbSize = sizeof(args); |
| 241 | args.wzId = wzSearchId; | 241 | args.wzId = wzSearchId; |
| @@ -243,8 +243,8 @@ EXTERN_C BEEAPI BurnExtensionPerformSearch( | |||
| 243 | 243 | ||
| 244 | results.cbSize = sizeof(results); | 244 | results.cbSize = sizeof(results); |
| 245 | 245 | ||
| 246 | hr = SendRequiredBextMessage(pExtension, BUNDLE_EXTENSION_MESSAGE_SEARCH, &args, &results); | 246 | hr = SendRequiredBextMessage(pExtension, BOOTSTRAPPER_EXTENSION_MESSAGE_SEARCH, &args, &results); |
| 247 | ExitOnFailure(hr, "BundleExtension '%ls' Search '%ls' failed.", pExtension->sczId, wzSearchId); | 247 | ExitOnFailure(hr, "BootstrapperExtension '%ls' Search '%ls' failed.", pExtension->sczId, wzSearchId); |
| 248 | 248 | ||
| 249 | LExit: | 249 | LExit: |
| 250 | return hr; | 250 | return hr; |
| @@ -252,7 +252,7 @@ LExit: | |||
| 252 | 252 | ||
| 253 | static HRESULT SendRequiredBextMessage( | 253 | static HRESULT SendRequiredBextMessage( |
| 254 | __in BURN_EXTENSION* pExtension, | 254 | __in BURN_EXTENSION* pExtension, |
| 255 | __in BUNDLE_EXTENSION_MESSAGE message, | 255 | __in BOOTSTRAPPER_EXTENSION_MESSAGE message, |
| 256 | __in const LPVOID pvArgs, | 256 | __in const LPVOID pvArgs, |
| 257 | __inout LPVOID pvResults | 257 | __inout LPVOID pvResults |
| 258 | ) | 258 | ) |
