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 | ) |