aboutsummaryrefslogtreecommitdiff
path: root/src/engine/EngineForExtension.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/engine/EngineForExtension.cpp')
-rw-r--r--src/engine/EngineForExtension.cpp97
1 files changed, 63 insertions, 34 deletions
diff --git a/src/engine/EngineForExtension.cpp b/src/engine/EngineForExtension.cpp
index 585b74a4..29b6a6b3 100644
--- a/src/engine/EngineForExtension.cpp
+++ b/src/engine/EngineForExtension.cpp
@@ -11,12 +11,14 @@ static HRESULT CopyStringToBE(
11 11
12static HRESULT BEEngineEscapeString( 12static HRESULT BEEngineEscapeString(
13 __in BURN_EXTENSION_ENGINE_CONTEXT* /*pContext*/, 13 __in BURN_EXTENSION_ENGINE_CONTEXT* /*pContext*/,
14 __in BUNDLE_EXTENSION_ENGINE_ESCAPESTRING_ARGS* pArgs, 14 __in const LPVOID pvArgs,
15 __in BUNDLE_EXTENSION_ENGINE_ESCAPESTRING_RESULTS* pResults 15 __inout LPVOID pvResults
16 ) 16 )
17{ 17{
18 HRESULT hr = S_OK; 18 HRESULT hr = S_OK;
19 LPWSTR sczValue = NULL; 19 LPWSTR sczValue = NULL;
20 ValidateMessageArgs(hr, pvArgs, BUNDLE_EXTENSION_ENGINE_ESCAPESTRING_ARGS, pArgs);
21 ValidateMessageResults(hr, pvResults, BUNDLE_EXTENSION_ENGINE_ESCAPESTRING_RESULTS, pResults);
20 LPCWSTR wzIn = pArgs->wzIn; 22 LPCWSTR wzIn = pArgs->wzIn;
21 LPWSTR wzOut = pResults->wzOut; 23 LPWSTR wzOut = pResults->wzOut;
22 DWORD* pcchOut = &pResults->cchOut; 24 DWORD* pcchOut = &pResults->cchOut;
@@ -34,17 +36,20 @@ static HRESULT BEEngineEscapeString(
34 hr = E_INVALIDARG; 36 hr = E_INVALIDARG;
35 } 37 }
36 38
39LExit:
37 StrSecureZeroFreeString(sczValue); 40 StrSecureZeroFreeString(sczValue);
38 return hr; 41 return hr;
39} 42}
40 43
41static HRESULT BEEngineEvaluateCondition( 44static HRESULT BEEngineEvaluateCondition(
42 __in BURN_EXTENSION_ENGINE_CONTEXT* pContext, 45 __in BURN_EXTENSION_ENGINE_CONTEXT* pContext,
43 __in BUNDLE_EXTENSION_ENGINE_EVALUATECONDITION_ARGS* pArgs, 46 __in const LPVOID pvArgs,
44 __in BUNDLE_EXTENSION_ENGINE_EVALUATECONDITION_RESULTS* pResults 47 __inout LPVOID pvResults
45 ) 48 )
46{ 49{
47 HRESULT hr = S_OK; 50 HRESULT hr = S_OK;
51 ValidateMessageArgs(hr, pvArgs, BUNDLE_EXTENSION_ENGINE_EVALUATECONDITION_ARGS, pArgs);
52 ValidateMessageResults(hr, pvResults, BUNDLE_EXTENSION_ENGINE_EVALUATECONDITION_RESULTS, pResults);
48 LPCWSTR wzCondition = pArgs->wzCondition; 53 LPCWSTR wzCondition = pArgs->wzCondition;
49 BOOL* pf = &pResults->f; 54 BOOL* pf = &pResults->f;
50 55
@@ -57,17 +62,20 @@ static HRESULT BEEngineEvaluateCondition(
57 hr = E_INVALIDARG; 62 hr = E_INVALIDARG;
58 } 63 }
59 64
65LExit:
60 return hr; 66 return hr;
61} 67}
62 68
63static HRESULT BEEngineFormatString( 69static HRESULT BEEngineFormatString(
64 __in BURN_EXTENSION_ENGINE_CONTEXT* pContext, 70 __in BURN_EXTENSION_ENGINE_CONTEXT* pContext,
65 __in BUNDLE_EXTENSION_ENGINE_FORMATSTRING_ARGS* pArgs, 71 __in const LPVOID pvArgs,
66 __in BUNDLE_EXTENSION_ENGINE_FORMATSTRING_RESULTS* pResults 72 __inout LPVOID pvResults
67 ) 73 )
68{ 74{
69 HRESULT hr = S_OK; 75 HRESULT hr = S_OK;
70 LPWSTR sczValue = NULL; 76 LPWSTR sczValue = NULL;
77 ValidateMessageArgs(hr, pvArgs, BUNDLE_EXTENSION_ENGINE_FORMATSTRING_ARGS, pArgs);
78 ValidateMessageResults(hr, pvResults, BUNDLE_EXTENSION_ENGINE_FORMATSTRING_RESULTS, pResults);
71 LPCWSTR wzIn = pArgs->wzIn; 79 LPCWSTR wzIn = pArgs->wzIn;
72 LPWSTR wzOut = pResults->wzOut; 80 LPWSTR wzOut = pResults->wzOut;
73 DWORD* pcchOut = &pResults->cchOut; 81 DWORD* pcchOut = &pResults->cchOut;
@@ -85,17 +93,20 @@ static HRESULT BEEngineFormatString(
85 hr = E_INVALIDARG; 93 hr = E_INVALIDARG;
86 } 94 }
87 95
96LExit:
88 StrSecureZeroFreeString(sczValue); 97 StrSecureZeroFreeString(sczValue);
89 return hr; 98 return hr;
90} 99}
91 100
92static HRESULT BEEngineGetVariableNumeric( 101static HRESULT BEEngineGetVariableNumeric(
93 __in BURN_EXTENSION_ENGINE_CONTEXT* pContext, 102 __in BURN_EXTENSION_ENGINE_CONTEXT* pContext,
94 __in BUNDLE_EXTENSION_ENGINE_GETVARIABLENUMERIC_ARGS* pArgs, 103 __in const LPVOID pvArgs,
95 __in BUNDLE_EXTENSION_ENGINE_GETVARIABLENUMERIC_RESULTS* pResults 104 __inout LPVOID pvResults
96 ) 105 )
97{ 106{
98 HRESULT hr = S_OK; 107 HRESULT hr = S_OK;
108 ValidateMessageArgs(hr, pvArgs, BUNDLE_EXTENSION_ENGINE_GETVARIABLENUMERIC_ARGS, pArgs);
109 ValidateMessageResults(hr, pvResults, BUNDLE_EXTENSION_ENGINE_GETVARIABLENUMERIC_RESULTS, pResults);
99 LPCWSTR wzVariable = pArgs->wzVariable; 110 LPCWSTR wzVariable = pArgs->wzVariable;
100 LONGLONG* pllValue = &pResults->llValue; 111 LONGLONG* pllValue = &pResults->llValue;
101 112
@@ -108,17 +119,20 @@ static HRESULT BEEngineGetVariableNumeric(
108 hr = E_INVALIDARG; 119 hr = E_INVALIDARG;
109 } 120 }
110 121
122LExit:
111 return hr; 123 return hr;
112} 124}
113 125
114static HRESULT BEEngineGetVariableString( 126static HRESULT BEEngineGetVariableString(
115 __in BURN_EXTENSION_ENGINE_CONTEXT* pContext, 127 __in BURN_EXTENSION_ENGINE_CONTEXT* pContext,
116 __in BUNDLE_EXTENSION_ENGINE_GETVARIABLESTRING_ARGS* pArgs, 128 __in const LPVOID pvArgs,
117 __in BUNDLE_EXTENSION_ENGINE_GETVARIABLESTRING_RESULTS* pResults 129 __inout LPVOID pvResults
118 ) 130 )
119{ 131{
120 HRESULT hr = S_OK; 132 HRESULT hr = S_OK;
121 LPWSTR sczValue = NULL; 133 LPWSTR sczValue = NULL;
134 ValidateMessageArgs(hr, pvArgs, BUNDLE_EXTENSION_ENGINE_GETVARIABLESTRING_ARGS, pArgs);
135 ValidateMessageResults(hr, pvResults, BUNDLE_EXTENSION_ENGINE_GETVARIABLESTRING_RESULTS, pResults);
122 LPCWSTR wzVariable = pArgs->wzVariable; 136 LPCWSTR wzVariable = pArgs->wzVariable;
123 LPWSTR wzValue = pResults->wzValue; 137 LPWSTR wzValue = pResults->wzValue;
124 DWORD* pcchValue = &pResults->cchValue; 138 DWORD* pcchValue = &pResults->cchValue;
@@ -136,18 +150,21 @@ static HRESULT BEEngineGetVariableString(
136 hr = E_INVALIDARG; 150 hr = E_INVALIDARG;
137 } 151 }
138 152
153LExit:
139 StrSecureZeroFreeString(sczValue); 154 StrSecureZeroFreeString(sczValue);
140 return hr; 155 return hr;
141} 156}
142 157
143static HRESULT BEEngineGetVariableVersion( 158static HRESULT BEEngineGetVariableVersion(
144 __in BURN_EXTENSION_ENGINE_CONTEXT* pContext, 159 __in BURN_EXTENSION_ENGINE_CONTEXT* pContext,
145 __in BUNDLE_EXTENSION_ENGINE_GETVARIABLEVERSION_ARGS* pArgs, 160 __in const LPVOID pvArgs,
146 __in BUNDLE_EXTENSION_ENGINE_GETVARIABLEVERSION_RESULTS* pResults 161 __inout LPVOID pvResults
147 ) 162 )
148{ 163{
149 HRESULT hr = S_OK; 164 HRESULT hr = S_OK;
150 VERUTIL_VERSION* pVersion = NULL; 165 VERUTIL_VERSION* pVersion = NULL;
166 ValidateMessageArgs(hr, pvArgs, BUNDLE_EXTENSION_ENGINE_GETVARIABLEVERSION_ARGS, pArgs);
167 ValidateMessageResults(hr, pvResults, BUNDLE_EXTENSION_ENGINE_GETVARIABLEVERSION_RESULTS, pResults);
151 LPCWSTR wzVariable = pArgs->wzVariable; 168 LPCWSTR wzVariable = pArgs->wzVariable;
152 LPWSTR wzValue = pResults->wzValue; 169 LPWSTR wzValue = pResults->wzValue;
153 DWORD* pcchValue = &pResults->cchValue; 170 DWORD* pcchValue = &pResults->cchValue;
@@ -165,6 +182,7 @@ static HRESULT BEEngineGetVariableVersion(
165 hr = E_INVALIDARG; 182 hr = E_INVALIDARG;
166 } 183 }
167 184
185LExit:
168 ReleaseVerutilVersion(pVersion); 186 ReleaseVerutilVersion(pVersion);
169 187
170 return hr; 188 return hr;
@@ -172,12 +190,14 @@ static HRESULT BEEngineGetVariableVersion(
172 190
173static HRESULT BEEngineLog( 191static HRESULT BEEngineLog(
174 __in BURN_EXTENSION_ENGINE_CONTEXT* /*pContext*/, 192 __in BURN_EXTENSION_ENGINE_CONTEXT* /*pContext*/,
175 __in BUNDLE_EXTENSION_ENGINE_LOG_ARGS* pArgs, 193 __in const LPVOID pvArgs,
176 __in BUNDLE_EXTENSION_ENGINE_LOG_RESULTS* /*pResults*/ 194 __inout LPVOID pvResults
177 ) 195 )
178{ 196{
179 HRESULT hr = S_OK; 197 HRESULT hr = S_OK;
180 REPORT_LEVEL rl = REPORT_NONE; 198 REPORT_LEVEL rl = REPORT_NONE;
199 ValidateMessageArgs(hr, pvArgs, BUNDLE_EXTENSION_ENGINE_LOG_ARGS, pArgs);
200 ValidateMessageResults(hr, pvResults, BUNDLE_EXTENSION_ENGINE_LOG_RESULTS, pResults);
181 BUNDLE_EXTENSION_LOG_LEVEL level = pArgs->level; 201 BUNDLE_EXTENSION_LOG_LEVEL level = pArgs->level;
182 LPCWSTR wzMessage = pArgs->wzMessage; 202 LPCWSTR wzMessage = pArgs->wzMessage;
183 203
@@ -212,11 +232,13 @@ LExit:
212 232
213static HRESULT BEEngineSetVariableNumeric( 233static HRESULT BEEngineSetVariableNumeric(
214 __in BURN_EXTENSION_ENGINE_CONTEXT* pContext, 234 __in BURN_EXTENSION_ENGINE_CONTEXT* pContext,
215 __in const BUNDLE_EXTENSION_ENGINE_SETVARIABLENUMERIC_ARGS* pArgs, 235 __in const LPVOID pvArgs,
216 __in BUNDLE_EXTENSION_ENGINE_SETVARIABLENUMERIC_RESULTS* /*pResults*/ 236 __inout LPVOID pvResults
217 ) 237 )
218{ 238{
219 HRESULT hr = S_OK; 239 HRESULT hr = S_OK;
240 ValidateMessageArgs(hr, pvArgs, BUNDLE_EXTENSION_ENGINE_SETVARIABLENUMERIC_ARGS, pArgs);
241 ValidateMessageResults(hr, pvResults, BUNDLE_EXTENSION_ENGINE_SETVARIABLENUMERIC_RESULTS, pResults);
220 LPCWSTR wzVariable = pArgs->wzVariable; 242 LPCWSTR wzVariable = pArgs->wzVariable;
221 LONGLONG llValue = pArgs->llValue; 243 LONGLONG llValue = pArgs->llValue;
222 244
@@ -237,11 +259,13 @@ LExit:
237 259
238static HRESULT BEEngineSetVariableString( 260static HRESULT BEEngineSetVariableString(
239 __in BURN_EXTENSION_ENGINE_CONTEXT* pContext, 261 __in BURN_EXTENSION_ENGINE_CONTEXT* pContext,
240 __in const BUNDLE_EXTENSION_ENGINE_SETVARIABLESTRING_ARGS* pArgs, 262 __in const LPVOID pvArgs,
241 __in BUNDLE_EXTENSION_ENGINE_SETVARIABLESTRING_RESULTS* /*pResults*/ 263 __inout LPVOID pvResults
242 ) 264 )
243{ 265{
244 HRESULT hr = S_OK; 266 HRESULT hr = S_OK;
267 ValidateMessageArgs(hr, pvArgs, BUNDLE_EXTENSION_ENGINE_SETVARIABLESTRING_ARGS, pArgs);
268 ValidateMessageResults(hr, pvResults, BUNDLE_EXTENSION_ENGINE_SETVARIABLESTRING_RESULTS, pResults);
245 LPCWSTR wzVariable = pArgs->wzVariable; 269 LPCWSTR wzVariable = pArgs->wzVariable;
246 LPCWSTR wzValue = pArgs->wzValue; 270 LPCWSTR wzValue = pArgs->wzValue;
247 271
@@ -262,14 +286,16 @@ LExit:
262 286
263static HRESULT BEEngineSetVariableVersion( 287static HRESULT BEEngineSetVariableVersion(
264 __in BURN_EXTENSION_ENGINE_CONTEXT* pContext, 288 __in BURN_EXTENSION_ENGINE_CONTEXT* pContext,
265 __in const BUNDLE_EXTENSION_ENGINE_SETVARIABLEVERSION_ARGS* pArgs, 289 __in const LPVOID pvArgs,
266 __in BUNDLE_EXTENSION_ENGINE_SETVARIABLEVERSION_RESULTS* /*pResults*/ 290 __inout LPVOID pvResults
267 ) 291 )
268{ 292{
269 HRESULT hr = S_OK; 293 HRESULT hr = S_OK;
294 VERUTIL_VERSION* pVersion = NULL;
295 ValidateMessageArgs(hr, pvArgs, BUNDLE_EXTENSION_ENGINE_SETVARIABLEVERSION_ARGS, pArgs);
296 ValidateMessageResults(hr, pvResults, BUNDLE_EXTENSION_ENGINE_SETVARIABLEVERSION_RESULTS, pResults);
270 LPCWSTR wzVariable = pArgs->wzVariable; 297 LPCWSTR wzVariable = pArgs->wzVariable;
271 LPCWSTR wzValue = pArgs->wzValue; 298 LPCWSTR wzValue = pArgs->wzValue;
272 VERUTIL_VERSION* pVersion = NULL;
273 299
274 if (wzVariable && *wzVariable) 300 if (wzVariable && *wzVariable)
275 { 301 {
@@ -296,17 +322,20 @@ LExit:
296 322
297static HRESULT BEEngineCompareVersions( 323static HRESULT BEEngineCompareVersions(
298 __in BURN_EXTENSION_ENGINE_CONTEXT* /*pContext*/, 324 __in BURN_EXTENSION_ENGINE_CONTEXT* /*pContext*/,
299 __in const BUNDLE_EXTENSION_ENGINE_COMPAREVERSIONS_ARGS* pArgs, 325 __in const LPVOID pvArgs,
300 __in BUNDLE_EXTENSION_ENGINE_COMPAREVERSIONS_RESULTS* pResults 326 __inout LPVOID pvResults
301 ) 327 )
302{ 328{
303 HRESULT hr = S_OK; 329 HRESULT hr = S_OK;
330 ValidateMessageArgs(hr, pvArgs, BUNDLE_EXTENSION_ENGINE_COMPAREVERSIONS_ARGS, pArgs);
331 ValidateMessageResults(hr, pvResults, BUNDLE_EXTENSION_ENGINE_COMPAREVERSIONS_RESULTS, pResults);
304 LPCWSTR wzVersion1 = pArgs->wzVersion1; 332 LPCWSTR wzVersion1 = pArgs->wzVersion1;
305 LPCWSTR wzVersion2 = pArgs->wzVersion2; 333 LPCWSTR wzVersion2 = pArgs->wzVersion2;
306 int* pnResult = &pResults->nResult; 334 int* pnResult = &pResults->nResult;
307 335
308 hr = VerCompareStringVersions(wzVersion1, wzVersion2, FALSE, pnResult); 336 hr = VerCompareStringVersions(wzVersion1, wzVersion2, FALSE, pnResult);
309 337
338LExit:
310 return hr; 339 return hr;
311} 340}
312 341
@@ -328,37 +357,37 @@ HRESULT WINAPI EngineForExtensionProc(
328 switch (message) 357 switch (message)
329 { 358 {
330 case BUNDLE_EXTENSION_ENGINE_MESSAGE_ESCAPESTRING: 359 case BUNDLE_EXTENSION_ENGINE_MESSAGE_ESCAPESTRING:
331 hr = BEEngineEscapeString(pContext, reinterpret_cast<BUNDLE_EXTENSION_ENGINE_ESCAPESTRING_ARGS*>(pvArgs), reinterpret_cast<BUNDLE_EXTENSION_ENGINE_ESCAPESTRING_RESULTS*>(pvResults)); 360 hr = BEEngineEscapeString(pContext, pvArgs, pvResults);
332 break; 361 break;
333 case BUNDLE_EXTENSION_ENGINE_MESSAGE_EVALUATECONDITION: 362 case BUNDLE_EXTENSION_ENGINE_MESSAGE_EVALUATECONDITION:
334 hr = BEEngineEvaluateCondition(pContext, reinterpret_cast<BUNDLE_EXTENSION_ENGINE_EVALUATECONDITION_ARGS*>(pvArgs), reinterpret_cast<BUNDLE_EXTENSION_ENGINE_EVALUATECONDITION_RESULTS*>(pvResults)); 363 hr = BEEngineEvaluateCondition(pContext, pvArgs, pvResults);
335 break; 364 break;
336 case BUNDLE_EXTENSION_ENGINE_MESSAGE_FORMATSTRING: 365 case BUNDLE_EXTENSION_ENGINE_MESSAGE_FORMATSTRING:
337 hr = BEEngineFormatString(pContext, reinterpret_cast<BUNDLE_EXTENSION_ENGINE_FORMATSTRING_ARGS*>(pvArgs), reinterpret_cast<BUNDLE_EXTENSION_ENGINE_FORMATSTRING_RESULTS*>(pvResults)); 366 hr = BEEngineFormatString(pContext, pvArgs, pvResults);
338 break; 367 break;
339 case BUNDLE_EXTENSION_ENGINE_MESSAGE_GETVARIABLENUMERIC: 368 case BUNDLE_EXTENSION_ENGINE_MESSAGE_GETVARIABLENUMERIC:
340 hr = BEEngineGetVariableNumeric(pContext, reinterpret_cast<BUNDLE_EXTENSION_ENGINE_GETVARIABLENUMERIC_ARGS*>(pvArgs), reinterpret_cast<BUNDLE_EXTENSION_ENGINE_GETVARIABLENUMERIC_RESULTS*>(pvResults)); 369 hr = BEEngineGetVariableNumeric(pContext, pvArgs, pvResults);
341 break; 370 break;
342 case BUNDLE_EXTENSION_ENGINE_MESSAGE_GETVARIABLESTRING: 371 case BUNDLE_EXTENSION_ENGINE_MESSAGE_GETVARIABLESTRING:
343 hr = BEEngineGetVariableString(pContext, reinterpret_cast<BUNDLE_EXTENSION_ENGINE_GETVARIABLESTRING_ARGS*>(pvArgs), reinterpret_cast<BUNDLE_EXTENSION_ENGINE_GETVARIABLESTRING_RESULTS*>(pvResults)); 372 hr = BEEngineGetVariableString(pContext, pvArgs, pvResults);
344 break; 373 break;
345 case BUNDLE_EXTENSION_ENGINE_MESSAGE_GETVARIABLEVERSION: 374 case BUNDLE_EXTENSION_ENGINE_MESSAGE_GETVARIABLEVERSION:
346 hr = BEEngineGetVariableVersion(pContext, reinterpret_cast<BUNDLE_EXTENSION_ENGINE_GETVARIABLEVERSION_ARGS*>(pvArgs), reinterpret_cast<BUNDLE_EXTENSION_ENGINE_GETVARIABLEVERSION_RESULTS*>(pvResults)); 375 hr = BEEngineGetVariableVersion(pContext, pvArgs, pvResults);
347 break; 376 break;
348 case BUNDLE_EXTENSION_ENGINE_MESSAGE_LOG: 377 case BUNDLE_EXTENSION_ENGINE_MESSAGE_LOG:
349 hr = BEEngineLog(pContext, reinterpret_cast<BUNDLE_EXTENSION_ENGINE_LOG_ARGS*>(pvArgs), reinterpret_cast<BUNDLE_EXTENSION_ENGINE_LOG_RESULTS*>(pvResults)); 378 hr = BEEngineLog(pContext, pvArgs, pvResults);
350 break; 379 break;
351 case BUNDLE_EXTENSION_ENGINE_MESSAGE_SETVARIABLENUMERIC: 380 case BUNDLE_EXTENSION_ENGINE_MESSAGE_SETVARIABLENUMERIC:
352 hr = BEEngineSetVariableNumeric(pContext, reinterpret_cast<BUNDLE_EXTENSION_ENGINE_SETVARIABLENUMERIC_ARGS*>(pvArgs), reinterpret_cast<BUNDLE_EXTENSION_ENGINE_SETVARIABLENUMERIC_RESULTS*>(pvResults)); 381 hr = BEEngineSetVariableNumeric(pContext, pvArgs, pvResults);
353 break; 382 break;
354 case BUNDLE_EXTENSION_ENGINE_MESSAGE_SETVARIABLESTRING: 383 case BUNDLE_EXTENSION_ENGINE_MESSAGE_SETVARIABLESTRING:
355 hr = BEEngineSetVariableString(pContext, reinterpret_cast<BUNDLE_EXTENSION_ENGINE_SETVARIABLESTRING_ARGS*>(pvArgs), reinterpret_cast<BUNDLE_EXTENSION_ENGINE_SETVARIABLESTRING_RESULTS*>(pvResults)); 384 hr = BEEngineSetVariableString(pContext, pvArgs, pvResults);
356 break; 385 break;
357 case BUNDLE_EXTENSION_ENGINE_MESSAGE_SETVARIABLEVERSION: 386 case BUNDLE_EXTENSION_ENGINE_MESSAGE_SETVARIABLEVERSION:
358 hr = BEEngineSetVariableVersion(pContext, reinterpret_cast<BUNDLE_EXTENSION_ENGINE_SETVARIABLEVERSION_ARGS*>(pvArgs), reinterpret_cast<BUNDLE_EXTENSION_ENGINE_SETVARIABLEVERSION_RESULTS*>(pvResults)); 387 hr = BEEngineSetVariableVersion(pContext, pvArgs, pvResults);
359 break; 388 break;
360 case BUNDLE_EXTENSION_ENGINE_MESSAGE_COMPAREVERSIONS: 389 case BUNDLE_EXTENSION_ENGINE_MESSAGE_COMPAREVERSIONS:
361 hr = BEEngineCompareVersions(pContext, reinterpret_cast<BUNDLE_EXTENSION_ENGINE_COMPAREVERSIONS_ARGS*>(pvArgs), reinterpret_cast<BUNDLE_EXTENSION_ENGINE_COMPAREVERSIONS_RESULTS*>(pvResults)); 390 hr = BEEngineCompareVersions(pContext, pvArgs, pvResults);
362 break; 391 break;
363 default: 392 default:
364 hr = E_NOTIMPL; 393 hr = E_NOTIMPL;