diff options
Diffstat (limited to 'src/bextutil/BextBundleExtensionEngine.cpp')
-rw-r--r-- | src/bextutil/BextBundleExtensionEngine.cpp | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/bextutil/BextBundleExtensionEngine.cpp b/src/bextutil/BextBundleExtensionEngine.cpp index 983782a9..9906a7f5 100644 --- a/src/bextutil/BextBundleExtensionEngine.cpp +++ b/src/bextutil/BextBundleExtensionEngine.cpp | |||
@@ -280,6 +280,32 @@ public: // IBundleExtensionEngine | |||
280 | return m_pfnBundleExtensionEngineProc(BUNDLE_EXTENSION_ENGINE_MESSAGE_SETVARIABLEVERSION, &args, &results, m_pvBundleExtensionEngineProcContext); | 280 | return m_pfnBundleExtensionEngineProc(BUNDLE_EXTENSION_ENGINE_MESSAGE_SETVARIABLEVERSION, &args, &results, m_pvBundleExtensionEngineProcContext); |
281 | } | 281 | } |
282 | 282 | ||
283 | virtual STDMETHODIMP CompareVersions( | ||
284 | __in_z LPCWSTR wzVersion1, | ||
285 | __in_z LPCWSTR wzVersion2, | ||
286 | __out int* pnResult | ||
287 | ) | ||
288 | { | ||
289 | HRESULT hr = S_OK; | ||
290 | BUNDLE_EXTENSION_ENGINE_COMPAREVERSIONS_ARGS args = { }; | ||
291 | BUNDLE_EXTENSION_ENGINE_COMPAREVERSIONS_RESULTS results = { }; | ||
292 | |||
293 | ExitOnNull(pnResult, hr, E_INVALIDARG, "pnResult is required"); | ||
294 | |||
295 | args.cbSize = sizeof(args); | ||
296 | args.wzVersion1 = wzVersion1; | ||
297 | args.wzVersion2 = wzVersion2; | ||
298 | |||
299 | results.cbSize = sizeof(results); | ||
300 | |||
301 | hr = m_pfnBundleExtensionEngineProc(BUNDLE_EXTENSION_ENGINE_MESSAGE_COMPAREVERSIONS, &args, &results, m_pvBundleExtensionEngineProcContext); | ||
302 | |||
303 | *pnResult = results.nResult; | ||
304 | |||
305 | LExit: | ||
306 | return hr; | ||
307 | } | ||
308 | |||
283 | public: | 309 | public: |
284 | CBextBundleExtensionEngine( | 310 | CBextBundleExtensionEngine( |
285 | __in PFN_BUNDLE_EXTENSION_ENGINE_PROC pfnBundleExtensionEngineProc, | 311 | __in PFN_BUNDLE_EXTENSION_ENGINE_PROC pfnBundleExtensionEngineProc, |