diff options
Diffstat (limited to 'src/engine/EngineForExtension.cpp')
-rw-r--r-- | src/engine/EngineForExtension.cpp | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/engine/EngineForExtension.cpp b/src/engine/EngineForExtension.cpp index 6ec80a0f..c165e2c2 100644 --- a/src/engine/EngineForExtension.cpp +++ b/src/engine/EngineForExtension.cpp | |||
@@ -291,6 +291,22 @@ LExit: | |||
291 | return hr; | 291 | return hr; |
292 | } | 292 | } |
293 | 293 | ||
294 | static HRESULT BEEngineCompareVersions( | ||
295 | __in BURN_EXTENSION_ENGINE_CONTEXT* /*pContext*/, | ||
296 | __in const BUNDLE_EXTENSION_ENGINE_COMPAREVERSIONS_ARGS* pArgs, | ||
297 | __in BUNDLE_EXTENSION_ENGINE_COMPAREVERSIONS_RESULTS* pResults | ||
298 | ) | ||
299 | { | ||
300 | HRESULT hr = S_OK; | ||
301 | LPCWSTR wzVersion1 = pArgs->wzVersion1; | ||
302 | LPCWSTR wzVersion2 = pArgs->wzVersion2; | ||
303 | int* pnResult = &pResults->nResult; | ||
304 | |||
305 | hr = VerCompareStringVersions(wzVersion1, wzVersion2, FALSE, pnResult); | ||
306 | |||
307 | return hr; | ||
308 | } | ||
309 | |||
294 | HRESULT WINAPI EngineForExtensionProc( | 310 | HRESULT WINAPI EngineForExtensionProc( |
295 | __in BUNDLE_EXTENSION_ENGINE_MESSAGE message, | 311 | __in BUNDLE_EXTENSION_ENGINE_MESSAGE message, |
296 | __in const LPVOID pvArgs, | 312 | __in const LPVOID pvArgs, |
@@ -338,6 +354,9 @@ HRESULT WINAPI EngineForExtensionProc( | |||
338 | case BUNDLE_EXTENSION_ENGINE_MESSAGE_SETVARIABLEVERSION: | 354 | case BUNDLE_EXTENSION_ENGINE_MESSAGE_SETVARIABLEVERSION: |
339 | hr = BEEngineSetVariableVersion(pContext, reinterpret_cast<BUNDLE_EXTENSION_ENGINE_SETVARIABLEVERSION_ARGS*>(pvArgs), reinterpret_cast<BUNDLE_EXTENSION_ENGINE_SETVARIABLEVERSION_RESULTS*>(pvResults)); | 355 | hr = BEEngineSetVariableVersion(pContext, reinterpret_cast<BUNDLE_EXTENSION_ENGINE_SETVARIABLEVERSION_ARGS*>(pvArgs), reinterpret_cast<BUNDLE_EXTENSION_ENGINE_SETVARIABLEVERSION_RESULTS*>(pvResults)); |
340 | break; | 356 | break; |
357 | case BUNDLE_EXTENSION_ENGINE_MESSAGE_COMPAREVERSIONS: | ||
358 | hr = BEEngineCompareVersions(pContext, reinterpret_cast<BUNDLE_EXTENSION_ENGINE_COMPAREVERSIONS_ARGS*>(pvArgs), reinterpret_cast<BUNDLE_EXTENSION_ENGINE_COMPAREVERSIONS_RESULTS*>(pvResults)); | ||
359 | break; | ||
341 | default: | 360 | default: |
342 | hr = E_NOTIMPL; | 361 | hr = E_NOTIMPL; |
343 | break; | 362 | break; |