aboutsummaryrefslogtreecommitdiff
path: root/src/engine/pipe.cpp
diff options
context:
space:
mode:
authorBob Arnson <bob@firegiant.com>2020-12-26 21:15:06 -0600
committerSean Hall <r.sean.hall@gmail.com>2021-01-11 12:20:07 -0600
commit5bab3f6ae97b62bb6e79378010c08a13e48fde5a (patch)
tree01d648f19b9523de128686443afd407afc8db84f /src/engine/pipe.cpp
parentb20a77911c6a2b096f021639e0daadae7430091c (diff)
downloadwix-5bab3f6ae97b62bb6e79378010c08a13e48fde5a.tar.gz
wix-5bab3f6ae97b62bb6e79378010c08a13e48fde5a.tar.bz2
wix-5bab3f6ae97b62bb6e79378010c08a13e48fde5a.zip
Upgrade to latest dutil as first step for x64 and ARM64
Diffstat (limited to 'src/engine/pipe.cpp')
-rw-r--r--src/engine/pipe.cpp22
1 files changed, 11 insertions, 11 deletions
diff --git a/src/engine/pipe.cpp b/src/engine/pipe.cpp
index 7ecc4859..eb3eb863 100644
--- a/src/engine/pipe.cpp
+++ b/src/engine/pipe.cpp
@@ -12,9 +12,9 @@ static const LPCWSTR CACHE_PIPE_NAME_FORMAT_STRING = L"\\\\.\\pipe\\%ls.Cache";
12static HRESULT AllocatePipeMessage( 12static HRESULT AllocatePipeMessage(
13 __in DWORD dwMessage, 13 __in DWORD dwMessage,
14 __in_bcount_opt(cbData) LPVOID pvData, 14 __in_bcount_opt(cbData) LPVOID pvData,
15 __in DWORD cbData, 15 __in SIZE_T cbData,
16 __out_bcount(cb) LPVOID* ppvMessage, 16 __out_bcount(cb) LPVOID* ppvMessage,
17 __out DWORD* cbMessage 17 __out SIZE_T* cbMessage
18 ); 18 );
19static void FreePipeMessage( 19static void FreePipeMessage(
20 __in BURN_PIPE_MESSAGE *pMsg 20 __in BURN_PIPE_MESSAGE *pMsg
@@ -23,7 +23,7 @@ static HRESULT WritePipeMessage(
23 __in HANDLE hPipe, 23 __in HANDLE hPipe,
24 __in DWORD dwMessage, 24 __in DWORD dwMessage,
25 __in_bcount_opt(cbData) LPVOID pvData, 25 __in_bcount_opt(cbData) LPVOID pvData,
26 __in DWORD cbData 26 __in SIZE_T cbData
27 ); 27 );
28static HRESULT GetPipeMessage( 28static HRESULT GetPipeMessage(
29 __in HANDLE hPipe, 29 __in HANDLE hPipe,
@@ -77,7 +77,7 @@ extern "C" HRESULT PipeSendMessage(
77 __in HANDLE hPipe, 77 __in HANDLE hPipe,
78 __in DWORD dwMessage, 78 __in DWORD dwMessage,
79 __in_bcount_opt(cbData) LPVOID pvData, 79 __in_bcount_opt(cbData) LPVOID pvData,
80 __in DWORD cbData, 80 __in SIZE_T cbData,
81 __in_opt PFN_PIPE_MESSAGE_CALLBACK pfnCallback, 81 __in_opt PFN_PIPE_MESSAGE_CALLBACK pfnCallback,
82 __in_opt LPVOID pvContext, 82 __in_opt LPVOID pvContext,
83 __out DWORD* pdwResult 83 __out DWORD* pdwResult
@@ -665,14 +665,14 @@ LExit:
665static HRESULT AllocatePipeMessage( 665static HRESULT AllocatePipeMessage(
666 __in DWORD dwMessage, 666 __in DWORD dwMessage,
667 __in_bcount_opt(cbData) LPVOID pvData, 667 __in_bcount_opt(cbData) LPVOID pvData,
668 __in DWORD cbData, 668 __in SIZE_T cbData,
669 __out_bcount(cb) LPVOID* ppvMessage, 669 __out_bcount(cb) LPVOID* ppvMessage,
670 __out DWORD* cbMessage 670 __out SIZE_T* cbMessage
671 ) 671 )
672{ 672{
673 HRESULT hr = S_OK; 673 HRESULT hr = S_OK;
674 LPVOID pv = NULL; 674 LPVOID pv = NULL;
675 DWORD cb = 0; 675 SIZE_T cb = 0;
676 676
677 // If no data was provided, ensure the count of bytes is zero. 677 // If no data was provided, ensure the count of bytes is zero.
678 if (!pvData) 678 if (!pvData)
@@ -716,22 +716,22 @@ static HRESULT WritePipeMessage(
716 __in HANDLE hPipe, 716 __in HANDLE hPipe,
717 __in DWORD dwMessage, 717 __in DWORD dwMessage,
718 __in_bcount_opt(cbData) LPVOID pvData, 718 __in_bcount_opt(cbData) LPVOID pvData,
719 __in DWORD cbData 719 __in SIZE_T cbData
720 ) 720 )
721{ 721{
722 HRESULT hr = S_OK; 722 HRESULT hr = S_OK;
723 LPVOID pv = NULL; 723 LPVOID pv = NULL;
724 DWORD cb = 0; 724 SIZE_T cb = 0;
725 725
726 hr = AllocatePipeMessage(dwMessage, pvData, cbData, &pv, &cb); 726 hr = AllocatePipeMessage(dwMessage, pvData, cbData, &pv, &cb);
727 ExitOnFailure(hr, "Failed to allocate message to write."); 727 ExitOnFailure(hr, "Failed to allocate message to write.");
728 728
729 // Write the message. 729 // Write the message.
730 DWORD cbWrote = 0; 730 DWORD cbWrote = 0;
731 DWORD cbTotalWritten = 0; 731 SIZE_T cbTotalWritten = 0;
732 while (cbTotalWritten < cb) 732 while (cbTotalWritten < cb)
733 { 733 {
734 if (!::WriteFile(hPipe, pv, cb - cbTotalWritten, &cbWrote, NULL)) 734 if (!::WriteFile(hPipe, pv, (DWORD)(cb - cbTotalWritten), &cbWrote, NULL))
735 { 735 {
736 ExitWithLastError(hr, "Failed to write message type to pipe."); 736 ExitWithLastError(hr, "Failed to write message type to pipe.");
737 } 737 }