diff options
author | Sean Hall <r.sean.hall@gmail.com> | 2022-06-29 10:29:30 -0500 |
---|---|---|
committer | Sean Hall <r.sean.hall@gmail.com> | 2022-06-29 15:08:37 -0500 |
commit | 67e32a09c7ea80ba76d4278bbac46f63489e2f5e (patch) | |
tree | 269e7f91b778d28182a8c8bee159f5b2f0727b27 /src/burn/engine/externalengine.cpp | |
parent | ec413164bd0285d1e9b9d36538974641a109b579 (diff) | |
download | wix-67e32a09c7ea80ba76d4278bbac46f63489e2f5e.tar.gz wix-67e32a09c7ea80ba76d4278bbac46f63489e2f5e.tar.bz2 wix-67e32a09c7ea80ba76d4278bbac46f63489e2f5e.zip |
Make Burn ignore unknown embedded messages.
Diffstat (limited to 'src/burn/engine/externalengine.cpp')
-rw-r--r-- | src/burn/engine/externalengine.cpp | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/src/burn/engine/externalengine.cpp b/src/burn/engine/externalengine.cpp index abe9b8bc..16977395 100644 --- a/src/burn/engine/externalengine.cpp +++ b/src/burn/engine/externalengine.cpp | |||
@@ -8,6 +8,11 @@ static HRESULT CopyStringToExternal( | |||
8 | __in_z_opt LPWSTR wzBuffer, | 8 | __in_z_opt LPWSTR wzBuffer, |
9 | __inout SIZE_T* pcchBuffer | 9 | __inout SIZE_T* pcchBuffer |
10 | ); | 10 | ); |
11 | static HRESULT ProcessUnknownEmbeddedMessages( | ||
12 | __in BURN_PIPE_MESSAGE* /*pMsg*/, | ||
13 | __in_opt LPVOID /*pvContext*/, | ||
14 | __out DWORD* pdwResult | ||
15 | ); | ||
11 | 16 | ||
12 | // function definitions | 17 | // function definitions |
13 | 18 | ||
@@ -212,7 +217,7 @@ HRESULT ExternalEngineSendEmbeddedError( | |||
212 | hr = BuffWriteNumber(&pbData, &cbData, dwUIHint); | 217 | hr = BuffWriteNumber(&pbData, &cbData, dwUIHint); |
213 | ExitOnFailure(hr, "Failed to write UI hint to message buffer."); | 218 | ExitOnFailure(hr, "Failed to write UI hint to message buffer."); |
214 | 219 | ||
215 | hr = PipeSendMessage(pEngineState->embeddedConnection.hPipe, BURN_EMBEDDED_MESSAGE_TYPE_ERROR, pbData, cbData, NULL, NULL, &dwResult); | 220 | hr = PipeSendMessage(pEngineState->embeddedConnection.hPipe, BURN_EMBEDDED_MESSAGE_TYPE_ERROR, pbData, cbData, ProcessUnknownEmbeddedMessages, NULL, &dwResult); |
216 | ExitOnFailure(hr, "Failed to send embedded message over pipe."); | 221 | ExitOnFailure(hr, "Failed to send embedded message over pipe."); |
217 | 222 | ||
218 | *pnResult = static_cast<int>(dwResult); | 223 | *pnResult = static_cast<int>(dwResult); |
@@ -247,7 +252,7 @@ HRESULT ExternalEngineSendEmbeddedProgress( | |||
247 | hr = BuffWriteNumber(&pbData, &cbData, dwOverallProgressPercentage); | 252 | hr = BuffWriteNumber(&pbData, &cbData, dwOverallProgressPercentage); |
248 | ExitOnFailure(hr, "Failed to write overall progress percentage to message buffer."); | 253 | ExitOnFailure(hr, "Failed to write overall progress percentage to message buffer."); |
249 | 254 | ||
250 | hr = PipeSendMessage(pEngineState->embeddedConnection.hPipe, BURN_EMBEDDED_MESSAGE_TYPE_PROGRESS, pbData, cbData, NULL, NULL, &dwResult); | 255 | hr = PipeSendMessage(pEngineState->embeddedConnection.hPipe, BURN_EMBEDDED_MESSAGE_TYPE_PROGRESS, pbData, cbData, ProcessUnknownEmbeddedMessages, NULL, &dwResult); |
251 | ExitOnFailure(hr, "Failed to send embedded progress message over pipe."); | 256 | ExitOnFailure(hr, "Failed to send embedded progress message over pipe."); |
252 | 257 | ||
253 | *pnResult = static_cast<int>(dwResult); | 258 | *pnResult = static_cast<int>(dwResult); |
@@ -821,3 +826,14 @@ static HRESULT CopyStringToExternal( | |||
821 | 826 | ||
822 | return hr; | 827 | return hr; |
823 | } | 828 | } |
829 | |||
830 | static HRESULT ProcessUnknownEmbeddedMessages( | ||
831 | __in BURN_PIPE_MESSAGE* /*pMsg*/, | ||
832 | __in_opt LPVOID /*pvContext*/, | ||
833 | __out DWORD* pdwResult | ||
834 | ) | ||
835 | { | ||
836 | *pdwResult = (DWORD)E_NOTIMPL; | ||
837 | |||
838 | return S_OK; | ||
839 | } | ||