aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBob Arnson <bob@firegiant.com>2020-11-29 18:57:55 -0500
committerBob Arnson <bob@firegiant.com>2020-12-26 22:08:07 -0500
commit0ae3b1e7b5c0beff0fcfb82728c5bf9f25aee250 (patch)
treea8c4cf37f7bcf103db5892c842cb4211ca3ee779
parent6554b42e999c8ff2cf20361a7dd7ec500723ec71 (diff)
downloadwix-0ae3b1e7b5c0beff0fcfb82728c5bf9f25aee250.tar.gz
wix-0ae3b1e7b5c0beff0fcfb82728c5bf9f25aee250.tar.bz2
wix-0ae3b1e7b5c0beff0fcfb82728c5bf9f25aee250.zip
More size_t-ification.
-rw-r--r--dutil.sln12
-rw-r--r--src/dutil/buffutil.cpp59
-rw-r--r--src/dutil/dirutil.cpp2
-rw-r--r--src/dutil/inc/buffutil.h11
-rw-r--r--src/dutil/inc/pathutil.h2
-rw-r--r--src/dutil/inc/strutil.h36
-rw-r--r--src/dutil/inc/verutil.h4
-rw-r--r--src/dutil/pathutil.cpp6
-rw-r--r--src/dutil/strutil.cpp144
9 files changed, 167 insertions, 109 deletions
diff --git a/dutil.sln b/dutil.sln
index 3dafbc0c..433f42a5 100644
--- a/dutil.sln
+++ b/dutil.sln
@@ -1,7 +1,7 @@
1 1
2Microsoft Visual Studio Solution File, Format Version 12.00 2Microsoft Visual Studio Solution File, Format Version 12.00
3# Visual Studio 15 3# Visual Studio Version 16
4VisualStudioVersion = 15.0.26730.12 4VisualStudioVersion = 16.0.30711.63
5MinimumVisualStudioVersion = 15.0.26124.0 5MinimumVisualStudioVersion = 15.0.26124.0
6Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dutil", "src\dutil\dutil.vcxproj", "{1244E671-F108-4334-BA52-8A7517F26ECD}" 6Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dutil", "src\dutil\dutil.vcxproj", "{1244E671-F108-4334-BA52-8A7517F26ECD}"
7EndProject 7EndProject
@@ -9,38 +9,30 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DUtilUnitTest", "src\test\D
9EndProject 9EndProject
10Global 10Global
11 GlobalSection(SolutionConfigurationPlatforms) = preSolution 11 GlobalSection(SolutionConfigurationPlatforms) = preSolution
12 Debug|ARM = Debug|ARM
13 Debug|ARM64 = Debug|ARM64 12 Debug|ARM64 = Debug|ARM64
14 Debug|x64 = Debug|x64 13 Debug|x64 = Debug|x64
15 Debug|x86 = Debug|x86 14 Debug|x86 = Debug|x86
16 Release|ARM = Release|ARM
17 Release|ARM64 = Release|ARM64 15 Release|ARM64 = Release|ARM64
18 Release|x64 = Release|x64 16 Release|x64 = Release|x64
19 Release|x86 = Release|x86 17 Release|x86 = Release|x86
20 EndGlobalSection 18 EndGlobalSection
21 GlobalSection(ProjectConfigurationPlatforms) = postSolution 19 GlobalSection(ProjectConfigurationPlatforms) = postSolution
22 {1244E671-F108-4334-BA52-8A7517F26ECD}.Debug|ARM.ActiveCfg = Debug|ARM
23 {1244E671-F108-4334-BA52-8A7517F26ECD}.Debug|ARM.Build.0 = Debug|ARM
24 {1244E671-F108-4334-BA52-8A7517F26ECD}.Debug|ARM64.ActiveCfg = Debug|ARM64 20 {1244E671-F108-4334-BA52-8A7517F26ECD}.Debug|ARM64.ActiveCfg = Debug|ARM64
25 {1244E671-F108-4334-BA52-8A7517F26ECD}.Debug|ARM64.Build.0 = Debug|ARM64 21 {1244E671-F108-4334-BA52-8A7517F26ECD}.Debug|ARM64.Build.0 = Debug|ARM64
26 {1244E671-F108-4334-BA52-8A7517F26ECD}.Debug|x64.ActiveCfg = Debug|x64 22 {1244E671-F108-4334-BA52-8A7517F26ECD}.Debug|x64.ActiveCfg = Debug|x64
27 {1244E671-F108-4334-BA52-8A7517F26ECD}.Debug|x64.Build.0 = Debug|x64 23 {1244E671-F108-4334-BA52-8A7517F26ECD}.Debug|x64.Build.0 = Debug|x64
28 {1244E671-F108-4334-BA52-8A7517F26ECD}.Debug|x86.ActiveCfg = Debug|Win32 24 {1244E671-F108-4334-BA52-8A7517F26ECD}.Debug|x86.ActiveCfg = Debug|Win32
29 {1244E671-F108-4334-BA52-8A7517F26ECD}.Debug|x86.Build.0 = Debug|Win32 25 {1244E671-F108-4334-BA52-8A7517F26ECD}.Debug|x86.Build.0 = Debug|Win32
30 {1244E671-F108-4334-BA52-8A7517F26ECD}.Release|ARM.ActiveCfg = Release|ARM
31 {1244E671-F108-4334-BA52-8A7517F26ECD}.Release|ARM.Build.0 = Release|ARM
32 {1244E671-F108-4334-BA52-8A7517F26ECD}.Release|ARM64.ActiveCfg = Release|ARM64 26 {1244E671-F108-4334-BA52-8A7517F26ECD}.Release|ARM64.ActiveCfg = Release|ARM64
33 {1244E671-F108-4334-BA52-8A7517F26ECD}.Release|ARM64.Build.0 = Release|ARM64 27 {1244E671-F108-4334-BA52-8A7517F26ECD}.Release|ARM64.Build.0 = Release|ARM64
34 {1244E671-F108-4334-BA52-8A7517F26ECD}.Release|x64.ActiveCfg = Release|x64 28 {1244E671-F108-4334-BA52-8A7517F26ECD}.Release|x64.ActiveCfg = Release|x64
35 {1244E671-F108-4334-BA52-8A7517F26ECD}.Release|x64.Build.0 = Release|x64 29 {1244E671-F108-4334-BA52-8A7517F26ECD}.Release|x64.Build.0 = Release|x64
36 {1244E671-F108-4334-BA52-8A7517F26ECD}.Release|x86.ActiveCfg = Release|Win32 30 {1244E671-F108-4334-BA52-8A7517F26ECD}.Release|x86.ActiveCfg = Release|Win32
37 {1244E671-F108-4334-BA52-8A7517F26ECD}.Release|x86.Build.0 = Release|Win32 31 {1244E671-F108-4334-BA52-8A7517F26ECD}.Release|x86.Build.0 = Release|Win32
38 {AB7EE608-E5FB-42A5-831F-0DEEEA141223}.Debug|ARM.ActiveCfg = Debug|Win32
39 {AB7EE608-E5FB-42A5-831F-0DEEEA141223}.Debug|ARM64.ActiveCfg = Debug|Win32 32 {AB7EE608-E5FB-42A5-831F-0DEEEA141223}.Debug|ARM64.ActiveCfg = Debug|Win32
40 {AB7EE608-E5FB-42A5-831F-0DEEEA141223}.Debug|x64.ActiveCfg = Debug|Win32 33 {AB7EE608-E5FB-42A5-831F-0DEEEA141223}.Debug|x64.ActiveCfg = Debug|Win32
41 {AB7EE608-E5FB-42A5-831F-0DEEEA141223}.Debug|x86.ActiveCfg = Debug|Win32 34 {AB7EE608-E5FB-42A5-831F-0DEEEA141223}.Debug|x86.ActiveCfg = Debug|Win32
42 {AB7EE608-E5FB-42A5-831F-0DEEEA141223}.Debug|x86.Build.0 = Debug|Win32 35 {AB7EE608-E5FB-42A5-831F-0DEEEA141223}.Debug|x86.Build.0 = Debug|Win32
43 {AB7EE608-E5FB-42A5-831F-0DEEEA141223}.Release|ARM.ActiveCfg = Release|Win32
44 {AB7EE608-E5FB-42A5-831F-0DEEEA141223}.Release|ARM64.ActiveCfg = Release|Win32 36 {AB7EE608-E5FB-42A5-831F-0DEEEA141223}.Release|ARM64.ActiveCfg = Release|Win32
45 {AB7EE608-E5FB-42A5-831F-0DEEEA141223}.Release|x64.ActiveCfg = Release|Win32 37 {AB7EE608-E5FB-42A5-831F-0DEEEA141223}.Release|x64.ActiveCfg = Release|Win32
46 {AB7EE608-E5FB-42A5-831F-0DEEEA141223}.Release|x86.ActiveCfg = Release|Win32 38 {AB7EE608-E5FB-42A5-831F-0DEEEA141223}.Release|x86.ActiveCfg = Release|Win32
diff --git a/src/dutil/buffutil.cpp b/src/dutil/buffutil.cpp
index e78db24f..a70aaa81 100644
--- a/src/dutil/buffutil.cpp
+++ b/src/dutil/buffutil.cpp
@@ -51,11 +51,11 @@ LExit:
51} 51}
52 52
53extern "C" HRESULT BuffReadNumber64( 53extern "C" HRESULT BuffReadNumber64(
54 __in_bcount(cbBuffer) const BYTE* pbBuffer, 54 __in_bcount(cbBuffer) const BYTE * pbBuffer,
55 __in SIZE_T cbBuffer, 55 __in SIZE_T cbBuffer,
56 __inout SIZE_T* piBuffer, 56 __inout SIZE_T* piBuffer,
57 __out DWORD64* pdw64 57 __out DWORD64* pdw64
58 ) 58)
59{ 59{
60 Assert(pbBuffer); 60 Assert(pbBuffer);
61 Assert(piBuffer); 61 Assert(piBuffer);
@@ -82,6 +82,38 @@ LExit:
82 return hr; 82 return hr;
83} 83}
84 84
85extern "C" HRESULT BuffReadPointer(
86 __in_bcount(cbBuffer) const BYTE * pbBuffer,
87 __in SIZE_T cbBuffer,
88 __inout SIZE_T* piBuffer,
89 __out DWORD_PTR* pdw64
90)
91{
92 Assert(pbBuffer);
93 Assert(piBuffer);
94 Assert(pdw64);
95
96 HRESULT hr = S_OK;
97 SIZE_T cbAvailable = 0;
98
99 // get availiable data size
100 hr = ::SIZETSub(cbBuffer, *piBuffer, &cbAvailable);
101 ExitOnRootFailure(hr, "Failed to calculate available data size.");
102
103 // verify buffer size
104 if (sizeof(DWORD_PTR) > cbAvailable)
105 {
106 hr = E_INVALIDARG;
107 ExitOnRootFailure(hr, "Buffer too small.");
108 }
109
110 *pdw64 = *(const DWORD_PTR*)(pbBuffer + *piBuffer);
111 *piBuffer += sizeof(DWORD_PTR);
112
113LExit:
114 return hr;
115}
116
85extern "C" HRESULT BuffReadString( 117extern "C" HRESULT BuffReadString(
86 __in_bcount(cbBuffer) const BYTE* pbBuffer, 118 __in_bcount(cbBuffer) const BYTE* pbBuffer,
87 __in SIZE_T cbBuffer, 119 __in SIZE_T cbBuffer,
@@ -300,6 +332,29 @@ LExit:
300 return hr; 332 return hr;
301} 333}
302 334
335extern "C" HRESULT BuffWritePointer(
336 __deref_out_bcount(*piBuffer) BYTE** ppbBuffer,
337 __inout SIZE_T* piBuffer,
338 __in DWORD_PTR dw
339)
340{
341 Assert(ppbBuffer);
342 Assert(piBuffer);
343
344 HRESULT hr = S_OK;
345
346 // make sure we have a buffer with sufficient space
347 hr = EnsureBufferSize(ppbBuffer, *piBuffer + sizeof(DWORD_PTR));
348 ExitOnFailure(hr, "Failed to ensure buffer size.");
349
350 // copy data to buffer
351 *(DWORD_PTR*)(*ppbBuffer + *piBuffer) = dw;
352 *piBuffer += sizeof(DWORD_PTR);
353
354LExit:
355 return hr;
356}
357
303extern "C" HRESULT BuffWriteString( 358extern "C" HRESULT BuffWriteString(
304 __deref_out_bcount(*piBuffer) BYTE** ppbBuffer, 359 __deref_out_bcount(*piBuffer) BYTE** ppbBuffer,
305 __inout SIZE_T* piBuffer, 360 __inout SIZE_T* piBuffer,
diff --git a/src/dutil/dirutil.cpp b/src/dutil/dirutil.cpp
index 1f06f551..5e22ee65 100644
--- a/src/dutil/dirutil.cpp
+++ b/src/dutil/dirutil.cpp
@@ -346,7 +346,7 @@ extern "C" HRESULT DAPI DirGetCurrent(
346 ) 346 )
347{ 347{
348 HRESULT hr = S_OK; 348 HRESULT hr = S_OK;
349 DWORD_PTR cch = 0; 349 SIZE_T cch = 0;
350 350
351 if (psczCurrentDirectory && *psczCurrentDirectory) 351 if (psczCurrentDirectory && *psczCurrentDirectory)
352 { 352 {
diff --git a/src/dutil/inc/buffutil.h b/src/dutil/inc/buffutil.h
index f6d36e94..a718e9c0 100644
--- a/src/dutil/inc/buffutil.h
+++ b/src/dutil/inc/buffutil.h
@@ -28,6 +28,12 @@ HRESULT BuffReadNumber64(
28 __inout SIZE_T* piBuffer, 28 __inout SIZE_T* piBuffer,
29 __out DWORD64* pdw64 29 __out DWORD64* pdw64
30 ); 30 );
31HRESULT BuffReadPointer(
32 __in_bcount(cbBuffer) const BYTE* pbBuffer,
33 __in SIZE_T cbBuffer,
34 __inout SIZE_T* piBuffer,
35 __out DWORD_PTR* pdw
36);
31HRESULT BuffReadString( 37HRESULT BuffReadString(
32 __in_bcount(cbBuffer) const BYTE* pbBuffer, 38 __in_bcount(cbBuffer) const BYTE* pbBuffer,
33 __in SIZE_T cbBuffer, 39 __in SIZE_T cbBuffer,
@@ -58,6 +64,11 @@ HRESULT BuffWriteNumber64(
58 __inout SIZE_T* piBuffer, 64 __inout SIZE_T* piBuffer,
59 __in DWORD64 dw64 65 __in DWORD64 dw64
60 ); 66 );
67HRESULT BuffWritePointer(
68 __deref_out_bcount(*piBuffer) BYTE** ppbBuffer,
69 __inout SIZE_T* piBuffer,
70 __in DWORD_PTR dw
71);
61HRESULT BuffWriteString( 72HRESULT BuffWriteString(
62 __deref_out_bcount(*piBuffer) BYTE** ppbBuffer, 73 __deref_out_bcount(*piBuffer) BYTE** ppbBuffer,
63 __inout SIZE_T* piBuffer, 74 __inout SIZE_T* piBuffer,
diff --git a/src/dutil/inc/pathutil.h b/src/dutil/inc/pathutil.h
index 76798172..bee8ed1b 100644
--- a/src/dutil/inc/pathutil.h
+++ b/src/dutil/inc/pathutil.h
@@ -71,7 +71,7 @@ DAPI_(HRESULT) PathPrefix(
71********************************************************************/ 71********************************************************************/
72DAPI_(HRESULT) PathFixedBackslashTerminate( 72DAPI_(HRESULT) PathFixedBackslashTerminate(
73 __inout_ecount_z(cchPath) LPWSTR wzPath, 73 __inout_ecount_z(cchPath) LPWSTR wzPath,
74 __in DWORD_PTR cchPath 74 __in SIZE_T cchPath
75 ); 75 );
76 76
77/******************************************************************* 77/*******************************************************************
diff --git a/src/dutil/inc/strutil.h b/src/dutil/inc/strutil.h
index 454506d2..187bfda8 100644
--- a/src/dutil/inc/strutil.h
+++ b/src/dutil/inc/strutil.h
@@ -19,11 +19,11 @@ extern "C" {
19 19
20HRESULT DAPI StrAlloc( 20HRESULT DAPI StrAlloc(
21 __deref_out_ecount_part(cch, 0) LPWSTR* ppwz, 21 __deref_out_ecount_part(cch, 0) LPWSTR* ppwz,
22 __in DWORD_PTR cch 22 __in SIZE_T cch
23 ); 23 );
24HRESULT DAPI StrAllocSecure( 24HRESULT DAPI StrAllocSecure(
25 __deref_out_ecount_part(cch, 0) LPWSTR* ppwz, 25 __deref_out_ecount_part(cch, 0) LPWSTR* ppwz,
26 __in DWORD_PTR cch 26 __in SIZE_T cch
27 ); 27 );
28HRESULT DAPI StrTrimCapacity( 28HRESULT DAPI StrTrimCapacity(
29 __deref_out_z LPWSTR* ppwz 29 __deref_out_z LPWSTR* ppwz
@@ -34,7 +34,7 @@ HRESULT DAPI StrTrimWhitespace(
34 ); 34 );
35HRESULT DAPI StrAnsiAlloc( 35HRESULT DAPI StrAnsiAlloc(
36 __deref_out_ecount_part(cch, 0) LPSTR* ppz, 36 __deref_out_ecount_part(cch, 0) LPSTR* ppz,
37 __in DWORD_PTR cch 37 __in SIZE_T cch
38 ); 38 );
39HRESULT DAPI StrAnsiTrimCapacity( 39HRESULT DAPI StrAnsiTrimCapacity(
40 __deref_out_z LPSTR* ppz 40 __deref_out_z LPSTR* ppz
@@ -73,7 +73,7 @@ HRESULT DAPI StrAnsiAllocStringAnsi(
73HRESULT DAPI StrAllocPrefix( 73HRESULT DAPI StrAllocPrefix(
74 __deref_out_z LPWSTR* ppwz, 74 __deref_out_z LPWSTR* ppwz,
75 __in_z LPCWSTR wzPrefix, 75 __in_z LPCWSTR wzPrefix,
76 __in DWORD_PTR cchPrefix 76 __in SIZE_T cchPrefix
77 ); 77 );
78HRESULT DAPI StrAllocConcat( 78HRESULT DAPI StrAllocConcat(
79 __deref_out_z LPWSTR* ppwz, 79 __deref_out_z LPWSTR* ppwz,
@@ -139,11 +139,11 @@ HRESULT DAPI StrAllocFromError(
139 139
140HRESULT DAPI StrMaxLength( 140HRESULT DAPI StrMaxLength(
141 __in LPCVOID p, 141 __in LPCVOID p,
142 __out DWORD_PTR* pcch 142 __out SIZE_T* pcbch
143 ); 143 );
144HRESULT DAPI StrSize( 144HRESULT DAPI StrSize(
145 __in LPCVOID p, 145 __in LPCVOID p,
146 __out DWORD_PTR* pcb 146 __out SIZE_T* pcbb
147 ); 147 );
148 148
149HRESULT DAPI StrFree( 149HRESULT DAPI StrFree(
@@ -165,19 +165,19 @@ HRESULT DAPI StrReplaceString(
165 165
166HRESULT DAPI StrHexEncode( 166HRESULT DAPI StrHexEncode(
167 __in_ecount(cbSource) const BYTE* pbSource, 167 __in_ecount(cbSource) const BYTE* pbSource,
168 __in DWORD_PTR cbSource, 168 __in SIZE_T cbSource,
169 __out_ecount(cchDest) LPWSTR wzDest, 169 __out_ecount(cchDest) LPWSTR wzDest,
170 __in DWORD_PTR cchDest 170 __in SIZE_T cchDest
171 ); 171 );
172HRESULT DAPI StrAllocHexEncode( 172HRESULT DAPI StrAllocHexEncode(
173 __in_ecount(cbSource) const BYTE* pbSource, 173 __in_ecount(cbSource) const BYTE* pbSource,
174 __in DWORD_PTR cbSource, 174 __in SIZE_T cbSource,
175 __deref_out_ecount_z(2*(cbSource+1)) LPWSTR* ppwzDest 175 __deref_out_ecount_z(2*(cbSource+1)) LPWSTR* ppwzDest
176 ); 176 );
177HRESULT DAPI StrHexDecode( 177HRESULT DAPI StrHexDecode(
178 __in_z LPCWSTR wzSource, 178 __in_z LPCWSTR wzSource,
179 __out_bcount(cbDest) BYTE* pbDest, 179 __out_bcount(cbDest) BYTE* pbDest,
180 __in DWORD_PTR cbDest 180 __in SIZE_T cbDest
181 ); 181 );
182HRESULT DAPI StrAllocHexDecode( 182HRESULT DAPI StrAllocHexDecode(
183 __in_z LPCWSTR wzSource, 183 __in_z LPCWSTR wzSource,
@@ -187,29 +187,29 @@ HRESULT DAPI StrAllocHexDecode(
187 187
188HRESULT DAPI StrAllocBase85Encode( 188HRESULT DAPI StrAllocBase85Encode(
189 __in_bcount_opt(cbSource) const BYTE* pbSource, 189 __in_bcount_opt(cbSource) const BYTE* pbSource,
190 __in DWORD_PTR cbSource, 190 __in SIZE_T cbSource,
191 __deref_out_z LPWSTR* pwzDest 191 __deref_out_z LPWSTR* pwzDest
192 ); 192 );
193HRESULT DAPI StrAllocBase85Decode( 193HRESULT DAPI StrAllocBase85Decode(
194 __in_z LPCWSTR wzSource, 194 __in_z LPCWSTR wzSource,
195 __deref_out_bcount(*pcbDest) BYTE** hbDest, 195 __deref_out_bcount(*pcbDest) BYTE** ppbDest,
196 __out DWORD_PTR* pcbDest 196 __out SIZE_T* pcbDest
197 ); 197);
198 198
199HRESULT DAPI MultiSzLen( 199HRESULT DAPI MultiSzLen(
200 __in_ecount(*pcch) __nullnullterminated LPCWSTR pwzMultiSz, 200 __in_ecount(*pcch) __nullnullterminated LPCWSTR pwzMultiSz,
201 __out DWORD_PTR* pcch 201 __out SIZE_T* pcbch
202 ); 202 );
203HRESULT DAPI MultiSzPrepend( 203HRESULT DAPI MultiSzPrepend(
204 __deref_inout_ecount(*pcchMultiSz) __nullnullterminated LPWSTR* ppwzMultiSz, 204 __deref_inout_ecount(*pcchMultiSz) __nullnullterminated LPWSTR* ppwzMultiSz,
205 __inout_opt DWORD_PTR *pcchMultiSz, 205 __inout_opt SIZE_T* pcchMultiSz,
206 __in __nullnullterminated LPCWSTR pwzInsert 206 __in __nullnullterminated LPCWSTR pwzInsert
207 ); 207 );
208HRESULT DAPI MultiSzFindSubstring( 208HRESULT DAPI MultiSzFindSubstring(
209 __in __nullnullterminated LPCWSTR pwzMultiSz, 209 __in __nullnullterminated LPCWSTR pwzMultiSz,
210 __in __nullnullterminated LPCWSTR pwzSubstring, 210 __in __nullnullterminated LPCWSTR pwzSubstring,
211 __out_opt DWORD_PTR* pdwIndex, 211 __out_opt DWORD_PTR* pdwIndex,
212 __deref_opt_out_z LPCWSTR* ppwzFoundIn 212 __deref_opt_out __nullnullterminated LPCWSTR* ppwzFoundIn
213 ); 213 );
214HRESULT DAPI MultiSzFindString( 214HRESULT DAPI MultiSzFindString(
215 __in __nullnullterminated LPCWSTR pwzMultiSz, 215 __in __nullnullterminated LPCWSTR pwzMultiSz,
@@ -223,7 +223,7 @@ HRESULT DAPI MultiSzRemoveString(
223 ); 223 );
224HRESULT DAPI MultiSzInsertString( 224HRESULT DAPI MultiSzInsertString(
225 __deref_inout_z LPWSTR* ppwzMultiSz, 225 __deref_inout_z LPWSTR* ppwzMultiSz,
226 __inout_opt DWORD_PTR *pcchMultiSz, 226 __inout_opt SIZE_T* pcchMultiSz,
227 __in DWORD_PTR dwIndex, 227 __in DWORD_PTR dwIndex,
228 __in_z LPCWSTR pwzInsert 228 __in_z LPCWSTR pwzInsert
229 ); 229 );
diff --git a/src/dutil/inc/verutil.h b/src/dutil/inc/verutil.h
index d3715049..30869aef 100644
--- a/src/dutil/inc/verutil.h
+++ b/src/dutil/inc/verutil.h
@@ -12,7 +12,7 @@ typedef struct _VERUTIL_VERSION_RELEASE_LABEL
12{ 12{
13 BOOL fNumeric; 13 BOOL fNumeric;
14 DWORD dwValue; 14 DWORD dwValue;
15 DWORD_PTR cchLabelOffset; 15 SIZE_T cchLabelOffset;
16 int cchLabel; 16 int cchLabel;
17} VERUTIL_VERSION_RELEASE_LABEL; 17} VERUTIL_VERSION_RELEASE_LABEL;
18 18
@@ -25,7 +25,7 @@ typedef struct _VERUTIL_VERSION
25 DWORD dwRevision; 25 DWORD dwRevision;
26 DWORD cReleaseLabels; 26 DWORD cReleaseLabels;
27 VERUTIL_VERSION_RELEASE_LABEL* rgReleaseLabels; 27 VERUTIL_VERSION_RELEASE_LABEL* rgReleaseLabels;
28 DWORD_PTR cchMetadataOffset; 28 SIZE_T cchMetadataOffset;
29 BOOL fInvalid; 29 BOOL fInvalid;
30} VERUTIL_VERSION; 30} VERUTIL_VERSION;
31 31
diff --git a/src/dutil/pathutil.cpp b/src/dutil/pathutil.cpp
index c508dd32..d8894756 100644
--- a/src/dutil/pathutil.cpp
+++ b/src/dutil/pathutil.cpp
@@ -328,7 +328,7 @@ DAPI_(HRESULT) PathPrefix(
328 328
329 HRESULT hr = S_OK; 329 HRESULT hr = S_OK;
330 LPWSTR wzFullPath = *psczFullPath; 330 LPWSTR wzFullPath = *psczFullPath;
331 DWORD_PTR cbFullPath = 0; 331 SIZE_T cbFullPath = 0;
332 332
333 if (((L'a' <= wzFullPath[0] && L'z' >= wzFullPath[0]) || 333 if (((L'a' <= wzFullPath[0] && L'z' >= wzFullPath[0]) ||
334 (L'A' <= wzFullPath[0] && L'Z' >= wzFullPath[0])) && 334 (L'A' <= wzFullPath[0] && L'Z' >= wzFullPath[0])) &&
@@ -365,7 +365,7 @@ LExit:
365 365
366DAPI_(HRESULT) PathFixedBackslashTerminate( 366DAPI_(HRESULT) PathFixedBackslashTerminate(
367 __inout_ecount_z(cchPath) LPWSTR wzPath, 367 __inout_ecount_z(cchPath) LPWSTR wzPath,
368 __in DWORD_PTR cchPath 368 __in SIZE_T cchPath
369 ) 369 )
370{ 370{
371 HRESULT hr = S_OK; 371 HRESULT hr = S_OK;
@@ -396,7 +396,7 @@ DAPI_(HRESULT) PathBackslashTerminate(
396 Assert(psczPath && *psczPath); 396 Assert(psczPath && *psczPath);
397 397
398 HRESULT hr = S_OK; 398 HRESULT hr = S_OK;
399 DWORD_PTR cchPath = 0; 399 SIZE_T cchPath = 0;
400 size_t cchLength = 0; 400 size_t cchLength = 0;
401 401
402 hr = StrMaxLength(*psczPath, &cchPath); 402 hr = StrMaxLength(*psczPath, &cchPath);
diff --git a/src/dutil/strutil.cpp b/src/dutil/strutil.cpp
index 4e184c34..c1d701d3 100644
--- a/src/dutil/strutil.cpp
+++ b/src/dutil/strutil.cpp
@@ -7,19 +7,19 @@
7// Forward declarations. 7// Forward declarations.
8static HRESULT AllocHelper( 8static HRESULT AllocHelper(
9 __deref_out_ecount_part(cch, 0) LPWSTR* ppwz, 9 __deref_out_ecount_part(cch, 0) LPWSTR* ppwz,
10 __in DWORD_PTR cch, 10 __in SIZE_T cch,
11 __in BOOL fZeroOnRealloc 11 __in BOOL fZeroOnRealloc
12 ); 12 );
13static HRESULT AllocStringHelper( 13static HRESULT AllocStringHelper(
14 __deref_out_ecount_z(cchSource + 1) LPWSTR* ppwz, 14 __deref_out_ecount_z(cchSource + 1) LPWSTR* ppwz,
15 __in_z LPCWSTR wzSource, 15 __in_z LPCWSTR wzSource,
16 __in DWORD_PTR cchSource, 16 __in SIZE_T cchSource,
17 __in BOOL fZeroOnRealloc 17 __in BOOL fZeroOnRealloc
18 ); 18 );
19static HRESULT AllocConcatHelper( 19static HRESULT AllocConcatHelper(
20 __deref_out_z LPWSTR* ppwz, 20 __deref_out_z LPWSTR* ppwz,
21 __in_z LPCWSTR wzSource, 21 __in_z LPCWSTR wzSource,
22 __in DWORD_PTR cchSource, 22 __in SIZE_T cchSource,
23 __in BOOL fZeroOnRealloc 23 __in BOOL fZeroOnRealloc
24 ); 24 );
25static HRESULT AllocFormattedArgsHelper( 25static HRESULT AllocFormattedArgsHelper(
@@ -42,7 +42,7 @@ NOTE: caller is responsible for freeing ppwz even if function fails
42********************************************************************/ 42********************************************************************/
43extern "C" HRESULT DAPI StrAlloc( 43extern "C" HRESULT DAPI StrAlloc(
44 __deref_out_ecount_part(cch, 0) LPWSTR* ppwz, 44 __deref_out_ecount_part(cch, 0) LPWSTR* ppwz,
45 __in DWORD_PTR cch 45 __in SIZE_T cch
46 ) 46 )
47{ 47{
48 return AllocHelper(ppwz, cch, FALSE); 48 return AllocHelper(ppwz, cch, FALSE);
@@ -57,7 +57,7 @@ NOTE: caller is responsible for freeing ppwz even if function fails
57********************************************************************/ 57********************************************************************/
58extern "C" HRESULT DAPI StrAllocSecure( 58extern "C" HRESULT DAPI StrAllocSecure(
59 __deref_out_ecount_part(cch, 0) LPWSTR* ppwz, 59 __deref_out_ecount_part(cch, 0) LPWSTR* ppwz,
60 __in DWORD_PTR cch 60 __in SIZE_T cch
61 ) 61 )
62{ 62{
63 return AllocHelper(ppwz, cch, TRUE); 63 return AllocHelper(ppwz, cch, TRUE);
@@ -72,7 +72,7 @@ NOTE: caller is responsible for freeing ppwz even if function fails
72********************************************************************/ 72********************************************************************/
73static HRESULT AllocHelper( 73static HRESULT AllocHelper(
74 __deref_out_ecount_part(cch, 0) LPWSTR* ppwz, 74 __deref_out_ecount_part(cch, 0) LPWSTR* ppwz,
75 __in DWORD_PTR cch, 75 __in SIZE_T cch,
76 __in BOOL fZeroOnRealloc 76 __in BOOL fZeroOnRealloc
77 ) 77 )
78{ 78{
@@ -128,7 +128,7 @@ HRESULT DAPI StrTrimCapacity(
128 Assert(ppwz); 128 Assert(ppwz);
129 129
130 HRESULT hr = S_OK; 130 HRESULT hr = S_OK;
131 DWORD_PTR cchLen = 0; 131 SIZE_T cchLen = 0;
132 132
133 hr = ::StringCchLengthW(*ppwz, STRSAFE_MAX_CCH, reinterpret_cast<UINT_PTR*>(&cchLen)); 133 hr = ::StringCchLengthW(*ppwz, STRSAFE_MAX_CCH, reinterpret_cast<UINT_PTR*>(&cchLen));
134 ExitOnFailure(hr, "Failed to calculate length of string"); 134 ExitOnFailure(hr, "Failed to calculate length of string");
@@ -201,7 +201,7 @@ NOTE: caller is responsible for freeing ppsz even if function fails
201********************************************************************/ 201********************************************************************/
202extern "C" HRESULT DAPI StrAnsiAlloc( 202extern "C" HRESULT DAPI StrAnsiAlloc(
203 __deref_out_ecount_part(cch, 0) LPSTR* ppsz, 203 __deref_out_ecount_part(cch, 0) LPSTR* ppsz,
204 __in DWORD_PTR cch 204 __in SIZE_T cch
205 ) 205 )
206{ 206{
207 Assert(ppsz && cch); 207 Assert(ppsz && cch);
@@ -246,7 +246,7 @@ HRESULT DAPI StrAnsiTrimCapacity(
246 Assert(ppz); 246 Assert(ppz);
247 247
248 HRESULT hr = S_OK; 248 HRESULT hr = S_OK;
249 DWORD_PTR cchLen = 0; 249 SIZE_T cchLen = 0;
250 250
251#pragma prefast(push) 251#pragma prefast(push)
252#pragma prefast(disable:25068) 252#pragma prefast(disable:25068)
@@ -324,7 +324,7 @@ NOTE: if cchSource == 0, length of wzSource is used instead
324extern "C" HRESULT DAPI StrAllocString( 324extern "C" HRESULT DAPI StrAllocString(
325 __deref_out_ecount_z(cchSource+1) LPWSTR* ppwz, 325 __deref_out_ecount_z(cchSource+1) LPWSTR* ppwz,
326 __in_z LPCWSTR wzSource, 326 __in_z LPCWSTR wzSource,
327 __in DWORD_PTR cchSource 327 __in SIZE_T cchSource
328 ) 328 )
329{ 329{
330 return AllocStringHelper(ppwz, wzSource, cchSource, FALSE); 330 return AllocStringHelper(ppwz, wzSource, cchSource, FALSE);
@@ -342,7 +342,7 @@ NOTE: if cchSource == 0, length of wzSource is used instead
342extern "C" HRESULT DAPI StrAllocStringSecure( 342extern "C" HRESULT DAPI StrAllocStringSecure(
343 __deref_out_ecount_z(cchSource + 1) LPWSTR* ppwz, 343 __deref_out_ecount_z(cchSource + 1) LPWSTR* ppwz,
344 __in_z LPCWSTR wzSource, 344 __in_z LPCWSTR wzSource,
345 __in DWORD_PTR cchSource 345 __in SIZE_T cchSource
346 ) 346 )
347{ 347{
348 return AllocStringHelper(ppwz, wzSource, cchSource, TRUE); 348 return AllocStringHelper(ppwz, wzSource, cchSource, TRUE);
@@ -360,14 +360,14 @@ NOTE: if cchSource == 0, length of wzSource is used instead
360static HRESULT AllocStringHelper( 360static HRESULT AllocStringHelper(
361 __deref_out_ecount_z(cchSource + 1) LPWSTR* ppwz, 361 __deref_out_ecount_z(cchSource + 1) LPWSTR* ppwz,
362 __in_z LPCWSTR wzSource, 362 __in_z LPCWSTR wzSource,
363 __in DWORD_PTR cchSource, 363 __in SIZE_T cchSource,
364 __in BOOL fZeroOnRealloc 364 __in BOOL fZeroOnRealloc
365 ) 365 )
366{ 366{
367 Assert(ppwz && wzSource); // && *wzSource); 367 Assert(ppwz && wzSource); // && *wzSource);
368 368
369 HRESULT hr = S_OK; 369 HRESULT hr = S_OK;
370 DWORD_PTR cch = 0; 370 SIZE_T cch = 0;
371 371
372 if (*ppwz) 372 if (*ppwz)
373 { 373 {
@@ -385,7 +385,7 @@ static HRESULT AllocStringHelper(
385 cchSource = lstrlenW(wzSource); 385 cchSource = lstrlenW(wzSource);
386 } 386 }
387 387
388 DWORD_PTR cchNeeded; 388 SIZE_T cchNeeded;
389 hr = ::ULongPtrAdd(cchSource, 1, &cchNeeded); // add one for the null terminator 389 hr = ::ULongPtrAdd(cchSource, 1, &cchNeeded); // add one for the null terminator
390 ExitOnFailure(hr, "source string is too long"); 390 ExitOnFailure(hr, "source string is too long");
391 391
@@ -414,7 +414,7 @@ NOTE: if cchSource == 0, length of wzSource is used instead
414extern "C" HRESULT DAPI StrAnsiAllocString( 414extern "C" HRESULT DAPI StrAnsiAllocString(
415 __deref_out_ecount_z(cchSource+1) LPSTR* ppsz, 415 __deref_out_ecount_z(cchSource+1) LPSTR* ppsz,
416 __in_z LPCWSTR wzSource, 416 __in_z LPCWSTR wzSource,
417 __in DWORD_PTR cchSource, 417 __in SIZE_T cchSource,
418 __in UINT uiCodepage 418 __in UINT uiCodepage
419 ) 419 )
420{ 420{
@@ -422,8 +422,8 @@ extern "C" HRESULT DAPI StrAnsiAllocString(
422 422
423 HRESULT hr = S_OK; 423 HRESULT hr = S_OK;
424 LPSTR psz = NULL; 424 LPSTR psz = NULL;
425 DWORD_PTR cch = 0; 425 SIZE_T cch = 0;
426 DWORD_PTR cchDest = cchSource; // at least enough 426 SIZE_T cchDest = cchSource; // at least enough
427 427
428 if (*ppsz) 428 if (*ppsz)
429 { 429 {
@@ -494,7 +494,7 @@ NOTE: if cchSource == 0, length of wzSource is used instead
494extern "C" HRESULT DAPI StrAllocStringAnsi( 494extern "C" HRESULT DAPI StrAllocStringAnsi(
495 __deref_out_ecount_z(cchSource+1) LPWSTR* ppwz, 495 __deref_out_ecount_z(cchSource+1) LPWSTR* ppwz,
496 __in_z LPCSTR szSource, 496 __in_z LPCSTR szSource,
497 __in DWORD_PTR cchSource, 497 __in SIZE_T cchSource,
498 __in UINT uiCodepage 498 __in UINT uiCodepage
499 ) 499 )
500{ 500{
@@ -502,8 +502,8 @@ extern "C" HRESULT DAPI StrAllocStringAnsi(
502 502
503 HRESULT hr = S_OK; 503 HRESULT hr = S_OK;
504 LPWSTR pwz = NULL; 504 LPWSTR pwz = NULL;
505 DWORD_PTR cch = 0; 505 SIZE_T cch = 0;
506 DWORD_PTR cchDest = cchSource; // at least enough 506 SIZE_T cchDest = cchSource; // at least enough
507 507
508 if (*ppwz) 508 if (*ppwz)
509 { 509 {
@@ -575,13 +575,13 @@ NOTE: if cchSource == 0, length of wzSource is used instead
575HRESULT DAPI StrAnsiAllocStringAnsi( 575HRESULT DAPI StrAnsiAllocStringAnsi(
576 __deref_out_ecount_z(cchSource+1) LPSTR* ppsz, 576 __deref_out_ecount_z(cchSource+1) LPSTR* ppsz,
577 __in_z LPCSTR szSource, 577 __in_z LPCSTR szSource,
578 __in DWORD_PTR cchSource 578 __in SIZE_T cchSource
579 ) 579 )
580{ 580{
581 Assert(ppsz && szSource); // && *szSource); 581 Assert(ppsz && szSource); // && *szSource);
582 582
583 HRESULT hr = S_OK; 583 HRESULT hr = S_OK;
584 DWORD_PTR cch = 0; 584 SIZE_T cch = 0;
585 585
586 if (*ppsz) 586 if (*ppsz)
587 { 587 {
@@ -599,7 +599,7 @@ HRESULT DAPI StrAnsiAllocStringAnsi(
599 cchSource = lstrlenA(szSource); 599 cchSource = lstrlenA(szSource);
600 } 600 }
601 601
602 DWORD_PTR cchNeeded; 602 SIZE_T cchNeeded;
603 hr = ::ULongPtrAdd(cchSource, 1, &cchNeeded); // add one for the null terminator 603 hr = ::ULongPtrAdd(cchSource, 1, &cchNeeded); // add one for the null terminator
604 ExitOnFailure(hr, "source string is too long"); 604 ExitOnFailure(hr, "source string is too long");
605 605
@@ -632,14 +632,14 @@ NOTE: if cchPrefix == 0, length of wzPrefix is used instead
632extern "C" HRESULT DAPI StrAllocPrefix( 632extern "C" HRESULT DAPI StrAllocPrefix(
633 __deref_out_z LPWSTR* ppwz, 633 __deref_out_z LPWSTR* ppwz,
634 __in_z LPCWSTR wzPrefix, 634 __in_z LPCWSTR wzPrefix,
635 __in DWORD_PTR cchPrefix 635 __in SIZE_T cchPrefix
636 ) 636 )
637{ 637{
638 Assert(ppwz && wzPrefix); 638 Assert(ppwz && wzPrefix);
639 639
640 HRESULT hr = S_OK; 640 HRESULT hr = S_OK;
641 DWORD_PTR cch = 0; 641 SIZE_T cch = 0;
642 DWORD_PTR cchLen = 0; 642 SIZE_T cchLen = 0;
643 643
644 if (*ppwz) 644 if (*ppwz)
645 { 645 {
@@ -672,8 +672,8 @@ extern "C" HRESULT DAPI StrAllocPrefix(
672 672
673 if (*ppwz) 673 if (*ppwz)
674 { 674 {
675 DWORD_PTR cb = cch * sizeof(WCHAR); 675 SIZE_T cb = cch * sizeof(WCHAR);
676 DWORD_PTR cbPrefix = cchPrefix * sizeof(WCHAR); 676 SIZE_T cbPrefix = cchPrefix * sizeof(WCHAR);
677 677
678 memmove(*ppwz + cchPrefix, *ppwz, cb - cbPrefix); 678 memmove(*ppwz + cchPrefix, *ppwz, cb - cbPrefix);
679 memcpy(*ppwz, wzPrefix, cbPrefix); 679 memcpy(*ppwz, wzPrefix, cbPrefix);
@@ -699,7 +699,7 @@ NOTE: if cchSource == 0, length of wzSource is used instead
699extern "C" HRESULT DAPI StrAllocConcat( 699extern "C" HRESULT DAPI StrAllocConcat(
700 __deref_out_z LPWSTR* ppwz, 700 __deref_out_z LPWSTR* ppwz,
701 __in_z LPCWSTR wzSource, 701 __in_z LPCWSTR wzSource,
702 __in DWORD_PTR cchSource 702 __in SIZE_T cchSource
703 ) 703 )
704{ 704{
705 return AllocConcatHelper(ppwz, wzSource, cchSource, FALSE); 705 return AllocConcatHelper(ppwz, wzSource, cchSource, FALSE);
@@ -718,7 +718,7 @@ NOTE: if cchSource == 0, length of wzSource is used instead
718extern "C" HRESULT DAPI StrAllocConcatSecure( 718extern "C" HRESULT DAPI StrAllocConcatSecure(
719 __deref_out_z LPWSTR* ppwz, 719 __deref_out_z LPWSTR* ppwz,
720 __in_z LPCWSTR wzSource, 720 __in_z LPCWSTR wzSource,
721 __in DWORD_PTR cchSource 721 __in SIZE_T cchSource
722 ) 722 )
723{ 723{
724 return AllocConcatHelper(ppwz, wzSource, cchSource, TRUE); 724 return AllocConcatHelper(ppwz, wzSource, cchSource, TRUE);
@@ -737,15 +737,15 @@ NOTE: if cchSource == 0, length of wzSource is used instead
737static HRESULT AllocConcatHelper( 737static HRESULT AllocConcatHelper(
738 __deref_out_z LPWSTR* ppwz, 738 __deref_out_z LPWSTR* ppwz,
739 __in_z LPCWSTR wzSource, 739 __in_z LPCWSTR wzSource,
740 __in DWORD_PTR cchSource, 740 __in SIZE_T cchSource,
741 __in BOOL fZeroOnRealloc 741 __in BOOL fZeroOnRealloc
742 ) 742 )
743{ 743{
744 Assert(ppwz && wzSource); // && *wzSource); 744 Assert(ppwz && wzSource); // && *wzSource);
745 745
746 HRESULT hr = S_OK; 746 HRESULT hr = S_OK;
747 DWORD_PTR cch = 0; 747 SIZE_T cch = 0;
748 DWORD_PTR cchLen = 0; 748 SIZE_T cchLen = 0;
749 749
750 if (*ppwz) 750 if (*ppwz)
751 { 751 {
@@ -801,14 +801,14 @@ NOTE: if cchSource == 0, length of pzSource is used instead
801extern "C" HRESULT DAPI StrAnsiAllocConcat( 801extern "C" HRESULT DAPI StrAnsiAllocConcat(
802 __deref_out_z LPSTR* ppz, 802 __deref_out_z LPSTR* ppz,
803 __in_z LPCSTR pzSource, 803 __in_z LPCSTR pzSource,
804 __in DWORD_PTR cchSource 804 __in SIZE_T cchSource
805 ) 805 )
806{ 806{
807 Assert(ppz && pzSource); // && *pzSource); 807 Assert(ppz && pzSource); // && *pzSource);
808 808
809 HRESULT hr = S_OK; 809 HRESULT hr = S_OK;
810 DWORD_PTR cch = 0; 810 SIZE_T cch = 0;
811 DWORD_PTR cchLen = 0; 811 SIZE_T cchLen = 0;
812 812
813 if (*ppz) 813 if (*ppz)
814 { 814 {
@@ -842,7 +842,7 @@ extern "C" HRESULT DAPI StrAnsiAllocConcat(
842 { 842 {
843 cch = (cchSource + cchLen + 1) * 2; 843 cch = (cchSource + cchLen + 1) * 2;
844 hr = StrAnsiAlloc(ppz, cch); 844 hr = StrAnsiAlloc(ppz, cch);
845 ExitOnFailure(hr, "failed to allocate string from string: %ls", pzSource); 845 ExitOnFailure(hr, "failed to allocate string from string: %hs", pzSource);
846 } 846 }
847 847
848 if (*ppz) 848 if (*ppz)
@@ -1138,7 +1138,7 @@ extern "C" HRESULT DAPI StrAnsiAllocFormattedArgs(
1138 Assert(ppsz && szFormat && *szFormat); 1138 Assert(ppsz && szFormat && *szFormat);
1139 1139
1140 HRESULT hr = S_OK; 1140 HRESULT hr = S_OK;
1141 DWORD_PTR cch = *ppsz ? MemSize(*ppsz) / sizeof(CHAR) : 0; 1141 SIZE_T cch = *ppsz ? MemSize(*ppsz) / sizeof(CHAR) : 0;
1142 LPSTR pszOriginal = NULL; 1142 LPSTR pszOriginal = NULL;
1143 DWORD cchOriginal = 0; 1143 DWORD cchOriginal = 0;
1144 1144
@@ -1183,7 +1183,7 @@ extern "C" HRESULT DAPI StrAnsiAllocFormattedArgs(
1183 } 1183 }
1184 cch *= 2; 1184 cch *= 2;
1185 hr = StrAnsiAlloc(ppsz, cch); 1185 hr = StrAnsiAlloc(ppsz, cch);
1186 ExitOnFailure(hr, "failed to allocate string to format: %ls", szFormat); 1186 ExitOnFailure(hr, "failed to allocate string to format: %hs", szFormat);
1187 hr = S_FALSE; 1187 hr = S_FALSE;
1188 } 1188 }
1189 } while (S_FALSE == hr); 1189 } while (S_FALSE == hr);
@@ -1247,7 +1247,7 @@ NOTE: assumes Unicode string
1247********************************************************************/ 1247********************************************************************/
1248extern "C" HRESULT DAPI StrMaxLength( 1248extern "C" HRESULT DAPI StrMaxLength(
1249 __in LPCVOID p, 1249 __in LPCVOID p,
1250 __out DWORD_PTR* pcch 1250 __out SIZE_T* pcch
1251 ) 1251 )
1252{ 1252{
1253 Assert(pcch); 1253 Assert(pcch);
@@ -1281,7 +1281,7 @@ StrSize - returns count of bytes in dynamic string p
1281********************************************************************/ 1281********************************************************************/
1282extern "C" HRESULT DAPI StrSize( 1282extern "C" HRESULT DAPI StrSize(
1283 __in LPCVOID p, 1283 __in LPCVOID p,
1284 __out DWORD_PTR* pcb 1284 __out SIZE_T* pcb
1285 ) 1285 )
1286{ 1286{
1287 Assert(p && pcb); 1287 Assert(p && pcb);
@@ -1430,9 +1430,9 @@ NOTE: wzDest must have space for cbSource * 2 + 1 characters
1430****************************************************************************/ 1430****************************************************************************/
1431extern "C" HRESULT DAPI StrHexEncode( 1431extern "C" HRESULT DAPI StrHexEncode(
1432 __in_ecount(cbSource) const BYTE* pbSource, 1432 __in_ecount(cbSource) const BYTE* pbSource,
1433 __in DWORD_PTR cbSource, 1433 __in SIZE_T cbSource,
1434 __out_ecount(cchDest) LPWSTR wzDest, 1434 __out_ecount(cchDest) LPWSTR wzDest,
1435 __in DWORD_PTR cchDest 1435 __in SIZE_T cchDest
1436 ) 1436 )
1437{ 1437{
1438 Assert(pbSource && wzDest); 1438 Assert(pbSource && wzDest);
@@ -1469,12 +1469,12 @@ StrAllocHexEncode - converts an array of bytes to an allocated text string
1469****************************************************************************/ 1469****************************************************************************/
1470HRESULT DAPI StrAllocHexEncode( 1470HRESULT DAPI StrAllocHexEncode(
1471 __in_ecount(cbSource) const BYTE* pbSource, 1471 __in_ecount(cbSource) const BYTE* pbSource,
1472 __in DWORD_PTR cbSource, 1472 __in SIZE_T cbSource,
1473 __deref_out_ecount_z(2*(cbSource+1)) LPWSTR* ppwzDest 1473 __deref_out_ecount_z(2*(cbSource+1)) LPWSTR* ppwzDest
1474 ) 1474 )
1475{ 1475{
1476 HRESULT hr = S_OK; 1476 HRESULT hr = S_OK;
1477 DWORD_PTR cchSource = sizeof(WCHAR) * (cbSource + 1); 1477 SIZE_T cchSource = sizeof(WCHAR) * (cbSource + 1);
1478 1478
1479 hr = StrAlloc(ppwzDest, cchSource); 1479 hr = StrAlloc(ppwzDest, cchSource);
1480 ExitOnFailure(hr, "Failed to allocate hex string."); 1480 ExitOnFailure(hr, "Failed to allocate hex string.");
@@ -1495,7 +1495,7 @@ NOTE: wzSource must contain even number of characters
1495extern "C" HRESULT DAPI StrHexDecode( 1495extern "C" HRESULT DAPI StrHexDecode(
1496 __in_z LPCWSTR wzSource, 1496 __in_z LPCWSTR wzSource,
1497 __out_bcount(cbDest) BYTE* pbDest, 1497 __out_bcount(cbDest) BYTE* pbDest,
1498 __in DWORD_PTR cbDest 1498 __in SIZE_T cbDest
1499 ) 1499 )
1500{ 1500{
1501 Assert(wzSource && pbDest); 1501 Assert(wzSource && pbDest);
@@ -1612,12 +1612,12 @@ StrAllocBase85Encode - converts an array of bytes into an XML compatible string
1612****************************************************************************/ 1612****************************************************************************/
1613extern "C" HRESULT DAPI StrAllocBase85Encode( 1613extern "C" HRESULT DAPI StrAllocBase85Encode(
1614 __in_bcount_opt(cbSource) const BYTE* pbSource, 1614 __in_bcount_opt(cbSource) const BYTE* pbSource,
1615 __in DWORD_PTR cbSource, 1615 __in SIZE_T cbSource,
1616 __deref_out_z LPWSTR* pwzDest 1616 __deref_out_z LPWSTR* pwzDest
1617 ) 1617 )
1618{ 1618{
1619 HRESULT hr = S_OK; 1619 HRESULT hr = S_OK;
1620 DWORD_PTR cchDest = 0; 1620 SIZE_T cchDest = 0;
1621 LPWSTR wzDest; 1621 LPWSTR wzDest;
1622 DWORD_PTR iSource = 0; 1622 DWORD_PTR iSource = 0;
1623 DWORD_PTR iDest = 0; 1623 DWORD_PTR iDest = 0;
@@ -1709,15 +1709,15 @@ NOTE: Use MemFree() to release the allocated stream of bytes
1709extern "C" HRESULT DAPI StrAllocBase85Decode( 1709extern "C" HRESULT DAPI StrAllocBase85Decode(
1710 __in_z LPCWSTR wzSource, 1710 __in_z LPCWSTR wzSource,
1711 __deref_out_bcount(*pcbDest) BYTE** ppbDest, 1711 __deref_out_bcount(*pcbDest) BYTE** ppbDest,
1712 __out DWORD_PTR* pcbDest 1712 __out SIZE_T* pcbDest
1713 ) 1713 )
1714{ 1714{
1715 HRESULT hr = S_OK; 1715 HRESULT hr = S_OK;
1716 DWORD_PTR cchSource = lstrlenW(wzSource); 1716 SIZE_T cchSource = lstrlenW(wzSource);
1717 DWORD_PTR i, n, k; 1717 DWORD_PTR i, n, k;
1718 1718
1719 BYTE* pbDest; 1719 BYTE* pbDest;
1720 DWORD_PTR cbDest; 1720 SIZE_T cbDest;
1721 1721
1722 if (!wzSource || !ppbDest || !pcbDest) 1722 if (!wzSource || !ppbDest || !pcbDest)
1723 { 1723 {
@@ -1849,9 +1849,9 @@ including the double null terminator at the end of the MULTISZ.
1849NOTE: returns 0 if the multisz in not properly terminated with two nulls 1849NOTE: returns 0 if the multisz in not properly terminated with two nulls
1850****************************************************************************/ 1850****************************************************************************/
1851extern "C" HRESULT DAPI MultiSzLen( 1851extern "C" HRESULT DAPI MultiSzLen(
1852 __in __nullnullterminated LPCWSTR pwzMultiSz, 1852 __in_ecount(*pcch) __nullnullterminated LPCWSTR pwzMultiSz,
1853 __out DWORD_PTR* pcch 1853 __out SIZE_T* pcch
1854 ) 1854)
1855{ 1855{
1856 Assert(pcch); 1856 Assert(pcch);
1857 1857
@@ -1894,7 +1894,7 @@ MultiSzPrepend - prepends a string onto the front of a MUTLISZ
1894****************************************************************************/ 1894****************************************************************************/
1895extern "C" HRESULT DAPI MultiSzPrepend( 1895extern "C" HRESULT DAPI MultiSzPrepend(
1896 __deref_inout_ecount(*pcchMultiSz) __nullnullterminated LPWSTR* ppwzMultiSz, 1896 __deref_inout_ecount(*pcchMultiSz) __nullnullterminated LPWSTR* ppwzMultiSz,
1897 __inout_opt DWORD_PTR *pcchMultiSz, 1897 __inout_opt SIZE_T* pcchMultiSz,
1898 __in __nullnullterminated LPCWSTR pwzInsert 1898 __in __nullnullterminated LPCWSTR pwzInsert
1899 ) 1899 )
1900{ 1900{
@@ -1902,9 +1902,9 @@ extern "C" HRESULT DAPI MultiSzPrepend(
1902 1902
1903 HRESULT hr =S_OK; 1903 HRESULT hr =S_OK;
1904 LPWSTR pwzResult = NULL; 1904 LPWSTR pwzResult = NULL;
1905 DWORD_PTR cchResult = 0; 1905 SIZE_T cchResult = 0;
1906 DWORD_PTR cchInsert = 0; 1906 SIZE_T cchInsert = 0;
1907 DWORD_PTR cchMultiSz = 0; 1907 SIZE_T cchMultiSz = 0;
1908 1908
1909 // Get the lengths of the MULTISZ (and prime it if it's not initialized) 1909 // Get the lengths of the MULTISZ (and prime it if it's not initialized)
1910 if (pcchMultiSz && 0 != *pcchMultiSz) 1910 if (pcchMultiSz && 0 != *pcchMultiSz)
@@ -1979,8 +1979,8 @@ extern "C" HRESULT DAPI MultiSzFindSubstring(
1979 HRESULT hr = S_FALSE; // Assume we won't find it (the glass is half empty) 1979 HRESULT hr = S_FALSE; // Assume we won't find it (the glass is half empty)
1980 LPCWSTR wz = pwzMultiSz; 1980 LPCWSTR wz = pwzMultiSz;
1981 DWORD_PTR dwIndex = 0; 1981 DWORD_PTR dwIndex = 0;
1982 DWORD_PTR cchMultiSz = 0; 1982 SIZE_T cchMultiSz = 0;
1983 DWORD_PTR cchProgress = 0; 1983 SIZE_T cchProgress = 0;
1984 1984
1985 hr = MultiSzLen(pwzMultiSz, &cchMultiSz); 1985 hr = MultiSzLen(pwzMultiSz, &cchMultiSz);
1986 ExitOnFailure(hr, "failed to get the length of a MULTISZ string"); 1986 ExitOnFailure(hr, "failed to get the length of a MULTISZ string");
@@ -2045,8 +2045,8 @@ extern "C" HRESULT DAPI MultiSzFindString(
2045 HRESULT hr = S_FALSE; // Assume we won't find it 2045 HRESULT hr = S_FALSE; // Assume we won't find it
2046 LPCWSTR wz = pwzMultiSz; 2046 LPCWSTR wz = pwzMultiSz;
2047 DWORD_PTR dwIndex = 0; 2047 DWORD_PTR dwIndex = 0;
2048 DWORD_PTR cchMutliSz = 0; 2048 SIZE_T cchMutliSz = 0;
2049 DWORD_PTR cchProgress = 0; 2049 SIZE_T cchProgress = 0;
2050 2050
2051 hr = MultiSzLen(pwzMultiSz, &cchMutliSz); 2051 hr = MultiSzLen(pwzMultiSz, &cchMutliSz);
2052 ExitOnFailure(hr, "failed to get the length of a MULTISZ string"); 2052 ExitOnFailure(hr, "failed to get the length of a MULTISZ string");
@@ -2112,8 +2112,8 @@ extern "C" HRESULT DAPI MultiSzRemoveString(
2112 LPCWSTR wz = *ppwzMultiSz; 2112 LPCWSTR wz = *ppwzMultiSz;
2113 LPCWSTR wzNext = NULL; 2113 LPCWSTR wzNext = NULL;
2114 DWORD_PTR dwCurrentIndex = 0; 2114 DWORD_PTR dwCurrentIndex = 0;
2115 DWORD_PTR cchMultiSz = 0; 2115 SIZE_T cchMultiSz = 0;
2116 DWORD_PTR cchProgress = 0; 2116 SIZE_T cchProgress = 0;
2117 2117
2118 hr = MultiSzLen(*ppwzMultiSz, &cchMultiSz); 2118 hr = MultiSzLen(*ppwzMultiSz, &cchMultiSz);
2119 ExitOnFailure(hr, "failed to get the length of a MULTISZ string"); 2119 ExitOnFailure(hr, "failed to get the length of a MULTISZ string");
@@ -2179,7 +2179,7 @@ MultiSzInsertString - inserts new string at the specified index
2179****************************************************************************/ 2179****************************************************************************/
2180extern "C" HRESULT DAPI MultiSzInsertString( 2180extern "C" HRESULT DAPI MultiSzInsertString(
2181 __deref_inout __nullnullterminated LPWSTR* ppwzMultiSz, 2181 __deref_inout __nullnullterminated LPWSTR* ppwzMultiSz,
2182 __inout_opt DWORD_PTR *pcchMultiSz, 2182 __inout_opt SIZE_T* pcchMultiSz,
2183 __in DWORD_PTR dwIndex, 2183 __in DWORD_PTR dwIndex,
2184 __in __nullnullterminated LPCWSTR pwzInsert 2184 __in __nullnullterminated LPCWSTR pwzInsert
2185 ) 2185 )
@@ -2189,11 +2189,11 @@ extern "C" HRESULT DAPI MultiSzInsertString(
2189 HRESULT hr = S_OK; 2189 HRESULT hr = S_OK;
2190 LPCWSTR wz = *ppwzMultiSz; 2190 LPCWSTR wz = *ppwzMultiSz;
2191 DWORD_PTR dwCurrentIndex = 0; 2191 DWORD_PTR dwCurrentIndex = 0;
2192 DWORD_PTR cchProgress = 0; 2192 SIZE_T cchProgress = 0;
2193 LPWSTR pwzResult = NULL; 2193 LPWSTR pwzResult = NULL;
2194 DWORD_PTR cchResult = 0; 2194 SIZE_T cchResult = 0;
2195 DWORD_PTR cchString = lstrlenW(pwzInsert); 2195 SIZE_T cchString = lstrlenW(pwzInsert);
2196 DWORD_PTR cchMultiSz = 0; 2196 SIZE_T cchMultiSz = 0;
2197 2197
2198 if (pcchMultiSz && 0 != *pcchMultiSz) 2198 if (pcchMultiSz && 0 != *pcchMultiSz)
2199 { 2199 {
@@ -2302,7 +2302,7 @@ extern "C" LPCWSTR DAPI wcsistr(
2302{ 2302{
2303 LPCWSTR wzSource = wzString; 2303 LPCWSTR wzSource = wzString;
2304 LPCWSTR wzSearch = NULL; 2304 LPCWSTR wzSearch = NULL;
2305 DWORD_PTR cchSourceIndex = 0; 2305 SIZE_T cchSourceIndex = 0;
2306 2306
2307 // Walk through wzString (the source string) one character at a time 2307 // Walk through wzString (the source string) one character at a time
2308 while (*wzSource) 2308 while (*wzSource)
@@ -2600,7 +2600,7 @@ extern "C" HRESULT DAPI StrArrayAllocString(
2600 __deref_inout_ecount_opt(*pcStrArray) LPWSTR **prgsczStrArray, 2600 __deref_inout_ecount_opt(*pcStrArray) LPWSTR **prgsczStrArray,
2601 __inout LPUINT pcStrArray, 2601 __inout LPUINT pcStrArray,
2602 __in_z LPCWSTR wzSource, 2602 __in_z LPCWSTR wzSource,
2603 __in DWORD_PTR cchSource 2603 __in SIZE_T cchSource
2604 ) 2604 )
2605{ 2605{
2606 HRESULT hr = S_OK; 2606 HRESULT hr = S_OK;
@@ -2726,7 +2726,7 @@ extern "C" DAPI_(HRESULT) StrSecureZeroString(
2726 ) 2726 )
2727{ 2727{
2728 HRESULT hr = S_OK; 2728 HRESULT hr = S_OK;
2729 DWORD_PTR cch; 2729 SIZE_T cch;
2730 2730
2731 if (pwz) 2731 if (pwz)
2732 { 2732 {