aboutsummaryrefslogtreecommitdiff
path: root/src/engine/engine.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/engine/engine.cpp')
-rw-r--r--src/engine/engine.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/engine/engine.cpp b/src/engine/engine.cpp
index e2728d7f..8f024e98 100644
--- a/src/engine/engine.cpp
+++ b/src/engine/engine.cpp
@@ -324,6 +324,7 @@ static HRESULT InitializeEngineState(
324 LPCWSTR wzParam = NULL; 324 LPCWSTR wzParam = NULL;
325 HANDLE hSectionFile = hEngineFile; 325 HANDLE hSectionFile = hEngineFile;
326 HANDLE hSourceEngineFile = INVALID_HANDLE_VALUE; 326 HANDLE hSourceEngineFile = INVALID_HANDLE_VALUE;
327 DWORD64 qw = 0;
327 328
328 pEngineState->automaticUpdates = BURN_AU_PAUSE_ACTION_IFELEVATED; 329 pEngineState->automaticUpdates = BURN_AU_PAUSE_ACTION_IFELEVATED;
329 pEngineState->dwElevatedLoggingTlsId = TLS_OUT_OF_INDEXES; 330 pEngineState->dwElevatedLoggingTlsId = TLS_OUT_OF_INDEXES;
@@ -343,8 +344,10 @@ static HRESULT InitializeEngineState(
343 ExitOnRootFailure(hr = E_INVALIDARG, "Missing required parameter for switch: %ls", BURN_COMMANDLINE_SWITCH_FILEHANDLE_ATTACHED); 344 ExitOnRootFailure(hr = E_INVALIDARG, "Missing required parameter for switch: %ls", BURN_COMMANDLINE_SWITCH_FILEHANDLE_ATTACHED);
344 } 345 }
345 346
346 hr = StrStringToUInt32(wzParam, 0, reinterpret_cast<UINT*>(&hSourceEngineFile)); 347 hr = StrStringToUInt64(wzParam, 0, &qw);
347 ExitOnFailure(hr, "Failed to parse file handle: '%ls'", (wzParam)); 348 ExitOnFailure(hr, "Failed to parse file handle: '%ls'", (wzParam));
349
350 hSourceEngineFile = (HANDLE)qw;
348 } 351 }
349 if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &pEngineState->argv[i][1], lstrlenW(BURN_COMMANDLINE_SWITCH_FILEHANDLE_SELF), BURN_COMMANDLINE_SWITCH_FILEHANDLE_SELF, lstrlenW(BURN_COMMANDLINE_SWITCH_FILEHANDLE_SELF))) 352 if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &pEngineState->argv[i][1], lstrlenW(BURN_COMMANDLINE_SWITCH_FILEHANDLE_SELF), BURN_COMMANDLINE_SWITCH_FILEHANDLE_SELF, lstrlenW(BURN_COMMANDLINE_SWITCH_FILEHANDLE_SELF)))
350 { 353 {
@@ -354,8 +357,10 @@ static HRESULT InitializeEngineState(
354 ExitOnRootFailure(hr = E_INVALIDARG, "Missing required parameter for switch: %ls", BURN_COMMANDLINE_SWITCH_FILEHANDLE_SELF); 357 ExitOnRootFailure(hr = E_INVALIDARG, "Missing required parameter for switch: %ls", BURN_COMMANDLINE_SWITCH_FILEHANDLE_SELF);
355 } 358 }
356 359
357 hr = StrStringToUInt32(wzParam, 0, reinterpret_cast<UINT*>(&hSectionFile)); 360 hr = StrStringToUInt64(wzParam, 0, &qw);
358 ExitOnFailure(hr, "Failed to parse file handle: '%ls'", (wzParam)); 361 ExitOnFailure(hr, "Failed to parse file handle: '%ls'", (wzParam));
362
363 hSectionFile = (HANDLE)qw;
359 } 364 }
360 } 365 }
361 } 366 }