diff options
author | Sean Hall <r.sean.hall@gmail.com> | 2021-03-02 14:19:14 -0600 |
---|---|---|
committer | Sean Hall <r.sean.hall@gmail.com> | 2021-03-02 15:40:02 -0600 |
commit | 10ebf674da5df9224e4eddd3545518434c5b455b (patch) | |
tree | ea1f4063edd46e9942eab94dd7adb2f75c6c589e /src/dutil/iis7util.cpp | |
parent | 3bbf1347b900ec115a12faf8f46965c9b7649696 (diff) | |
download | wix-10ebf674da5df9224e4eddd3545518434c5b455b.tar.gz wix-10ebf674da5df9224e4eddd3545518434c5b455b.tar.bz2 wix-10ebf674da5df9224e4eddd3545518434c5b455b.zip |
Update rest of dutil to use their own source with the Exit* macros.
Fix some CA warnings.
Diffstat (limited to 'src/dutil/iis7util.cpp')
-rw-r--r-- | src/dutil/iis7util.cpp | 57 |
1 files changed, 37 insertions, 20 deletions
diff --git a/src/dutil/iis7util.cpp b/src/dutil/iis7util.cpp index 04165a8d..d0a0b000 100644 --- a/src/dutil/iis7util.cpp +++ b/src/dutil/iis7util.cpp | |||
@@ -3,6 +3,21 @@ | |||
3 | #include "precomp.h" | 3 | #include "precomp.h" |
4 | #include "iis7util.h" | 4 | #include "iis7util.h" |
5 | 5 | ||
6 | |||
7 | // Exit macros | ||
8 | #define IisExitOnLastError(x, s, ...) ExitOnLastErrorSource(DUTIL_SOURCE_IIS7UTIL, x, s, __VA_ARGS__) | ||
9 | #define IisExitOnLastErrorDebugTrace(x, s, ...) ExitOnLastErrorDebugTraceSource(DUTIL_SOURCE_IIS7UTIL, x, s, __VA_ARGS__) | ||
10 | #define IisExitWithLastError(x, s, ...) ExitWithLastErrorSource(DUTIL_SOURCE_IIS7UTIL, x, s, __VA_ARGS__) | ||
11 | #define IisExitOnFailure(x, s, ...) ExitOnFailureSource(DUTIL_SOURCE_IIS7UTIL, x, s, __VA_ARGS__) | ||
12 | #define IisExitOnRootFailure(x, s, ...) ExitOnRootFailureSource(DUTIL_SOURCE_IIS7UTIL, x, s, __VA_ARGS__) | ||
13 | #define IisExitOnFailureDebugTrace(x, s, ...) ExitOnFailureDebugTraceSource(DUTIL_SOURCE_IIS7UTIL, x, s, __VA_ARGS__) | ||
14 | #define IisExitOnNull(p, x, e, s, ...) ExitOnNullSource(DUTIL_SOURCE_IIS7UTIL, p, x, e, s, __VA_ARGS__) | ||
15 | #define IisExitOnNullWithLastError(p, x, s, ...) ExitOnNullWithLastErrorSource(DUTIL_SOURCE_IIS7UTIL, p, x, s, __VA_ARGS__) | ||
16 | #define IisExitOnNullDebugTrace(p, x, e, s, ...) ExitOnNullDebugTraceSource(DUTIL_SOURCE_IIS7UTIL, p, x, e, s, __VA_ARGS__) | ||
17 | #define IisExitOnInvalidHandleWithLastError(p, x, s, ...) ExitOnInvalidHandleWithLastErrorSource(DUTIL_SOURCE_IIS7UTIL, p, x, s, __VA_ARGS__) | ||
18 | #define IisExitOnWin32Error(e, x, s, ...) ExitOnWin32ErrorSource(DUTIL_SOURCE_IIS7UTIL, e, x, s, __VA_ARGS__) | ||
19 | #define IisExitOnGdipFailure(g, x, s, ...) ExitOnGdipFailureSource(DUTIL_SOURCE_IIS7UTIL, g, x, s, __VA_ARGS__) | ||
20 | |||
6 | #define ISSTRINGVARIANT(vt) (VT_BSTR == vt || VT_LPWSTR == vt) | 21 | #define ISSTRINGVARIANT(vt) (VT_BSTR == vt || VT_LPWSTR == vt) |
7 | 22 | ||
8 | extern "C" HRESULT DAPI Iis7PutPropertyVariant( | 23 | extern "C" HRESULT DAPI Iis7PutPropertyVariant( |
@@ -16,13 +31,13 @@ extern "C" HRESULT DAPI Iis7PutPropertyVariant( | |||
16 | BSTR bstrPropName = NULL; | 31 | BSTR bstrPropName = NULL; |
17 | 32 | ||
18 | bstrPropName = ::SysAllocString(wzPropName); | 33 | bstrPropName = ::SysAllocString(wzPropName); |
19 | ExitOnNull(bstrPropName, hr, E_OUTOFMEMORY, "failed SysAllocString"); | 34 | IisExitOnNull(bstrPropName, hr, E_OUTOFMEMORY, "failed SysAllocString"); |
20 | 35 | ||
21 | hr = pElement->GetPropertyByName(bstrPropName, &pProperty); | 36 | hr = pElement->GetPropertyByName(bstrPropName, &pProperty); |
22 | ExitOnFailure(hr, "Failed to get property object for %ls", wzPropName); | 37 | IisExitOnFailure(hr, "Failed to get property object for %ls", wzPropName); |
23 | 38 | ||
24 | hr = pProperty->put_Value(vtPut); | 39 | hr = pProperty->put_Value(vtPut); |
25 | ExitOnFailure(hr, "Failed to set property value for %ls", wzPropName); | 40 | IisExitOnFailure(hr, "Failed to set property value for %ls", wzPropName); |
26 | 41 | ||
27 | LExit: | 42 | LExit: |
28 | ReleaseBSTR(bstrPropName); | 43 | ReleaseBSTR(bstrPropName); |
@@ -44,7 +59,7 @@ extern "C" HRESULT DAPI Iis7PutPropertyString( | |||
44 | ::VariantInit(&vtPut); | 59 | ::VariantInit(&vtPut); |
45 | vtPut.vt = VT_BSTR; | 60 | vtPut.vt = VT_BSTR; |
46 | vtPut.bstrVal = ::SysAllocString(wzString); | 61 | vtPut.bstrVal = ::SysAllocString(wzString); |
47 | ExitOnNull(vtPut.bstrVal, hr, E_OUTOFMEMORY, "failed SysAllocString"); | 62 | IisExitOnNull(vtPut.bstrVal, hr, E_OUTOFMEMORY, "failed SysAllocString"); |
48 | 63 | ||
49 | hr = Iis7PutPropertyVariant(pElement, wzPropName, vtPut); | 64 | hr = Iis7PutPropertyVariant(pElement, wzPropName, vtPut); |
50 | 65 | ||
@@ -92,13 +107,13 @@ extern "C" HRESULT DAPI Iis7GetPropertyVariant( | |||
92 | BSTR bstrPropName = NULL; | 107 | BSTR bstrPropName = NULL; |
93 | 108 | ||
94 | bstrPropName = ::SysAllocString(wzPropName); | 109 | bstrPropName = ::SysAllocString(wzPropName); |
95 | ExitOnNull(bstrPropName, hr, E_OUTOFMEMORY, "failed SysAllocString"); | 110 | IisExitOnNull(bstrPropName, hr, E_OUTOFMEMORY, "failed SysAllocString"); |
96 | 111 | ||
97 | hr = pElement->GetPropertyByName(bstrPropName, &pProperty); | 112 | hr = pElement->GetPropertyByName(bstrPropName, &pProperty); |
98 | ExitOnFailure(hr, "Failed to get property object for %ls", wzPropName); | 113 | IisExitOnFailure(hr, "Failed to get property object for %ls", wzPropName); |
99 | 114 | ||
100 | hr = pProperty->get_Value(vtGet); | 115 | hr = pProperty->get_Value(vtGet); |
101 | ExitOnFailure(hr, "Failed to get property value for %ls", wzPropName); | 116 | IisExitOnFailure(hr, "Failed to get property value for %ls", wzPropName); |
102 | 117 | ||
103 | LExit: | 118 | LExit: |
104 | ReleaseBSTR(bstrPropName); | 119 | ReleaseBSTR(bstrPropName); |
@@ -119,12 +134,12 @@ extern "C" HRESULT DAPI Iis7GetPropertyString( | |||
119 | 134 | ||
120 | ::VariantInit(&vtGet); | 135 | ::VariantInit(&vtGet); |
121 | hr = Iis7GetPropertyVariant(pElement, wzPropName, &vtGet); | 136 | hr = Iis7GetPropertyVariant(pElement, wzPropName, &vtGet); |
122 | ExitOnFailure(hr, "Failed to get iis7 property variant with name: %ls", wzPropName); | 137 | IisExitOnFailure(hr, "Failed to get iis7 property variant with name: %ls", wzPropName); |
123 | 138 | ||
124 | if (!ISSTRINGVARIANT(vtGet.vt)) | 139 | if (!ISSTRINGVARIANT(vtGet.vt)) |
125 | { | 140 | { |
126 | hr = E_UNEXPECTED; | 141 | hr = E_UNEXPECTED; |
127 | ExitOnFailure(hr, "Tried to get property as a string, but type was %d instead.", vtGet.vt); | 142 | IisExitOnFailure(hr, "Tried to get property as a string, but type was %d instead.", vtGet.vt); |
128 | } | 143 | } |
129 | 144 | ||
130 | hr = StrAllocString(psczGet, vtGet.bstrVal, 0); | 145 | hr = StrAllocString(psczGet, vtGet.bstrVal, 0); |
@@ -198,13 +213,13 @@ BOOL DAPI CompareVariantPath( | |||
198 | if (ISSTRINGVARIANT(pVariant1->vt)) | 213 | if (ISSTRINGVARIANT(pVariant1->vt)) |
199 | { | 214 | { |
200 | hr = PathExpand(&wzValue1, pVariant1->bstrVal, PATH_EXPAND_ENVIRONMENT | PATH_EXPAND_FULLPATH); | 215 | hr = PathExpand(&wzValue1, pVariant1->bstrVal, PATH_EXPAND_ENVIRONMENT | PATH_EXPAND_FULLPATH); |
201 | ExitOnFailure(hr, "Failed to expand path %ls", pVariant1->bstrVal); | 216 | IisExitOnFailure(hr, "Failed to expand path %ls", pVariant1->bstrVal); |
202 | } | 217 | } |
203 | 218 | ||
204 | if (ISSTRINGVARIANT(pVariant2->vt)) | 219 | if (ISSTRINGVARIANT(pVariant2->vt)) |
205 | { | 220 | { |
206 | hr = PathExpand(&wzValue2, pVariant2->bstrVal, PATH_EXPAND_ENVIRONMENT | PATH_EXPAND_FULLPATH); | 221 | hr = PathExpand(&wzValue2, pVariant2->bstrVal, PATH_EXPAND_ENVIRONMENT | PATH_EXPAND_FULLPATH); |
207 | ExitOnFailure(hr, "Failed to expand path %ls", pVariant2->bstrVal); | 222 | IisExitOnFailure(hr, "Failed to expand path %ls", pVariant2->bstrVal); |
208 | } | 223 | } |
209 | 224 | ||
210 | fEqual = CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, wzValue1, -1, wzValue2, -1); | 225 | fEqual = CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, wzValue1, -1, wzValue2, -1); |
@@ -242,14 +257,14 @@ extern "C" BOOL DAPI Iis7IsMatchingAppHostElement( | |||
242 | VARIANTCOMPARATORPROC pComparator = pComparison->pComparator ? pComparison->pComparator : CompareVariantDefault; | 257 | VARIANTCOMPARATORPROC pComparator = pComparison->pComparator ? pComparison->pComparator : CompareVariantDefault; |
243 | 258 | ||
244 | hr = pElement->get_Name(&bstrElementName); | 259 | hr = pElement->get_Name(&bstrElementName); |
245 | ExitOnFailure(hr, "Failed to get name of element"); | 260 | IisExitOnFailure(hr, "Failed to get name of element"); |
246 | if (CSTR_EQUAL != ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, pComparison->sczElementName, -1, bstrElementName, -1)) | 261 | if (CSTR_EQUAL != ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, pComparison->sczElementName, -1, bstrElementName, -1)) |
247 | { | 262 | { |
248 | ExitFunction(); | 263 | ExitFunction(); |
249 | } | 264 | } |
250 | 265 | ||
251 | hr = Iis7GetPropertyVariant(pElement, pComparison->sczAttributeName, &vPropValue); | 266 | hr = Iis7GetPropertyVariant(pElement, pComparison->sczAttributeName, &vPropValue); |
252 | ExitOnFailure(hr, "Failed to get value of %ls attribute of %ls element", pComparison->sczAttributeName, pComparison->sczElementName); | 267 | IisExitOnFailure(hr, "Failed to get value of %ls attribute of %ls element", pComparison->sczAttributeName, pComparison->sczElementName); |
253 | 268 | ||
254 | if (TRUE == pComparator(pComparison->pvAttributeValue, &vPropValue)) | 269 | if (TRUE == pComparator(pComparison->pvAttributeValue, &vPropValue)) |
255 | { | 270 | { |
@@ -274,7 +289,9 @@ BOOL DAPI IsMatchingAppHostMethod( | |||
274 | BSTR bstrName = NULL; | 289 | BSTR bstrName = NULL; |
275 | 290 | ||
276 | hr = pMethod->get_Name(&bstrName); | 291 | hr = pMethod->get_Name(&bstrName); |
277 | ExitOnFailure(hr, "Failed to get name of element"); | 292 | IisExitOnFailure(hr, "Failed to get name of element"); |
293 | |||
294 | Assert(bstrName); | ||
278 | 295 | ||
279 | if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, wzMethodName, -1, bstrName, -1)) | 296 | if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, wzMethodName, -1, bstrName, -1)) |
280 | { | 297 | { |
@@ -303,7 +320,7 @@ extern "C" HRESULT DAPI Iis7FindAppHostElementPath( | |||
303 | 320 | ||
304 | vtValue.vt = VT_BSTR; | 321 | vtValue.vt = VT_BSTR; |
305 | vtValue.bstrVal = ::SysAllocString(wzAttributeValue); | 322 | vtValue.bstrVal = ::SysAllocString(wzAttributeValue); |
306 | ExitOnNull(vtValue.bstrVal, hr, E_OUTOFMEMORY, "failed SysAllocString"); | 323 | IisExitOnNull(vtValue.bstrVal, hr, E_OUTOFMEMORY, "failed SysAllocString"); |
307 | 324 | ||
308 | comparison.sczElementName = wzElementName; | 325 | comparison.sczElementName = wzElementName; |
309 | comparison.sczAttributeName = wzAttributeName; | 326 | comparison.sczAttributeName = wzAttributeName; |
@@ -337,7 +354,7 @@ extern "C" HRESULT DAPI Iis7FindAppHostElementString( | |||
337 | 354 | ||
338 | vtValue.vt = VT_BSTR; | 355 | vtValue.vt = VT_BSTR; |
339 | vtValue.bstrVal = ::SysAllocString(wzAttributeValue); | 356 | vtValue.bstrVal = ::SysAllocString(wzAttributeValue); |
340 | ExitOnNull(vtValue.bstrVal, hr, E_OUTOFMEMORY, "failed SysAllocString"); | 357 | IisExitOnNull(vtValue.bstrVal, hr, E_OUTOFMEMORY, "failed SysAllocString"); |
341 | 358 | ||
342 | hr = Iis7FindAppHostElementVariant(pCollection, | 359 | hr = Iis7FindAppHostElementVariant(pCollection, |
343 | wzElementName, | 360 | wzElementName, |
@@ -427,14 +444,14 @@ extern "C" HRESULT DAPI Iis7EnumAppHostElements( | |||
427 | } | 444 | } |
428 | 445 | ||
429 | hr = pCollection->get_Count(&dwElements); | 446 | hr = pCollection->get_Count(&dwElements); |
430 | ExitOnFailure(hr, "Failed get application IAppHostElementCollection count"); | 447 | IisExitOnFailure(hr, "Failed get application IAppHostElementCollection count"); |
431 | 448 | ||
432 | vtIndex.vt = VT_UI4; | 449 | vtIndex.vt = VT_UI4; |
433 | for (DWORD i = 0; i < dwElements; ++i) | 450 | for (DWORD i = 0; i < dwElements; ++i) |
434 | { | 451 | { |
435 | vtIndex.ulVal = i; | 452 | vtIndex.ulVal = i; |
436 | hr = pCollection->get_Item(vtIndex , &pElement); | 453 | hr = pCollection->get_Item(vtIndex , &pElement); |
437 | ExitOnFailure(hr, "Failed get IAppHostElement element"); | 454 | IisExitOnFailure(hr, "Failed get IAppHostElement element"); |
438 | 455 | ||
439 | if (pCallback(pElement, pContext)) | 456 | if (pCallback(pElement, pContext)) |
440 | { | 457 | { |
@@ -484,14 +501,14 @@ extern "C" HRESULT DAPI Iis7FindAppHostMethod( | |||
484 | } | 501 | } |
485 | 502 | ||
486 | hr = pCollection->get_Count(&dwMethods); | 503 | hr = pCollection->get_Count(&dwMethods); |
487 | ExitOnFailure(hr, "Failed get application IAppHostMethodCollection count"); | 504 | IisExitOnFailure(hr, "Failed get application IAppHostMethodCollection count"); |
488 | 505 | ||
489 | vtIndex.vt = VT_UI4; | 506 | vtIndex.vt = VT_UI4; |
490 | for (DWORD i = 0; i < dwMethods; ++i) | 507 | for (DWORD i = 0; i < dwMethods; ++i) |
491 | { | 508 | { |
492 | vtIndex.ulVal = i; | 509 | vtIndex.ulVal = i; |
493 | hr = pCollection->get_Item(vtIndex , &pMethod); | 510 | hr = pCollection->get_Item(vtIndex , &pMethod); |
494 | ExitOnFailure(hr, "Failed get IAppHostMethod element"); | 511 | IisExitOnFailure(hr, "Failed get IAppHostMethod element"); |
495 | 512 | ||
496 | if (IsMatchingAppHostMethod(pMethod, wzMethodName)) | 513 | if (IsMatchingAppHostMethod(pMethod, wzMethodName)) |
497 | { | 514 | { |