diff options
Diffstat (limited to '')
-rw-r--r-- | src/dutil/polcutil.cpp | 27 |
1 files changed, 21 insertions, 6 deletions
diff --git a/src/dutil/polcutil.cpp b/src/dutil/polcutil.cpp index 1cc29e61..1fdfa18c 100644 --- a/src/dutil/polcutil.cpp +++ b/src/dutil/polcutil.cpp | |||
@@ -2,6 +2,21 @@ | |||
2 | 2 | ||
3 | #include "precomp.h" | 3 | #include "precomp.h" |
4 | 4 | ||
5 | |||
6 | // Exit macros | ||
7 | #define PolcExitOnLastError(x, s, ...) ExitOnLastErrorSource(DUTIL_SOURCE_POLCUTIL, x, s, __VA_ARGS__) | ||
8 | #define PolcExitOnLastErrorDebugTrace(x, s, ...) ExitOnLastErrorDebugTraceSource(DUTIL_SOURCE_POLCUTIL, x, s, __VA_ARGS__) | ||
9 | #define PolcExitWithLastError(x, s, ...) ExitWithLastErrorSource(DUTIL_SOURCE_POLCUTIL, x, s, __VA_ARGS__) | ||
10 | #define PolcExitOnFailure(x, s, ...) ExitOnFailureSource(DUTIL_SOURCE_POLCUTIL, x, s, __VA_ARGS__) | ||
11 | #define PolcExitOnRootFailure(x, s, ...) ExitOnRootFailureSource(DUTIL_SOURCE_POLCUTIL, x, s, __VA_ARGS__) | ||
12 | #define PolcExitOnFailureDebugTrace(x, s, ...) ExitOnFailureDebugTraceSource(DUTIL_SOURCE_POLCUTIL, x, s, __VA_ARGS__) | ||
13 | #define PolcExitOnNull(p, x, e, s, ...) ExitOnNullSource(DUTIL_SOURCE_POLCUTIL, p, x, e, s, __VA_ARGS__) | ||
14 | #define PolcExitOnNullWithLastError(p, x, s, ...) ExitOnNullWithLastErrorSource(DUTIL_SOURCE_POLCUTIL, p, x, s, __VA_ARGS__) | ||
15 | #define PolcExitOnNullDebugTrace(p, x, e, s, ...) ExitOnNullDebugTraceSource(DUTIL_SOURCE_POLCUTIL, p, x, e, s, __VA_ARGS__) | ||
16 | #define PolcExitOnInvalidHandleWithLastError(p, x, s, ...) ExitOnInvalidHandleWithLastErrorSource(DUTIL_SOURCE_POLCUTIL, p, x, s, __VA_ARGS__) | ||
17 | #define PolcExitOnWin32Error(e, x, s, ...) ExitOnWin32ErrorSource(DUTIL_SOURCE_POLCUTIL, e, x, s, __VA_ARGS__) | ||
18 | #define PolcExitOnGdipFailure(g, x, s, ...) ExitOnGdipFailureSource(DUTIL_SOURCE_POLCUTIL, g, x, s, __VA_ARGS__) | ||
19 | |||
5 | const LPCWSTR REGISTRY_POLICIES_KEY = L"SOFTWARE\\Policies\\"; | 20 | const LPCWSTR REGISTRY_POLICIES_KEY = L"SOFTWARE\\Policies\\"; |
6 | 21 | ||
7 | static HRESULT OpenPolicyKey( | 22 | static HRESULT OpenPolicyKey( |
@@ -25,14 +40,14 @@ extern "C" HRESULT DAPI PolcReadNumber( | |||
25 | { | 40 | { |
26 | ExitFunction1(hr = S_FALSE); | 41 | ExitFunction1(hr = S_FALSE); |
27 | } | 42 | } |
28 | ExitOnFailure(hr, "Failed to open policy key: %ls", wzPolicyPath); | 43 | PolcExitOnFailure(hr, "Failed to open policy key: %ls", wzPolicyPath); |
29 | 44 | ||
30 | hr = RegReadNumber(hk, wzPolicyName, pdw); | 45 | hr = RegReadNumber(hk, wzPolicyName, pdw); |
31 | if (E_FILENOTFOUND == hr || E_PATHNOTFOUND == hr) | 46 | if (E_FILENOTFOUND == hr || E_PATHNOTFOUND == hr) |
32 | { | 47 | { |
33 | ExitFunction1(hr = S_FALSE); | 48 | ExitFunction1(hr = S_FALSE); |
34 | } | 49 | } |
35 | ExitOnFailure(hr, "Failed to open policy key: %ls, name: %ls", wzPolicyPath, wzPolicyName); | 50 | PolcExitOnFailure(hr, "Failed to open policy key: %ls, name: %ls", wzPolicyPath, wzPolicyName); |
36 | 51 | ||
37 | LExit: | 52 | LExit: |
38 | ReleaseRegKey(hk); | 53 | ReleaseRegKey(hk); |
@@ -60,14 +75,14 @@ extern "C" HRESULT DAPI PolcReadString( | |||
60 | { | 75 | { |
61 | ExitFunction1(hr = S_FALSE); | 76 | ExitFunction1(hr = S_FALSE); |
62 | } | 77 | } |
63 | ExitOnFailure(hr, "Failed to open policy key: %ls", wzPolicyPath); | 78 | PolcExitOnFailure(hr, "Failed to open policy key: %ls", wzPolicyPath); |
64 | 79 | ||
65 | hr = RegReadString(hk, wzPolicyName, pscz); | 80 | hr = RegReadString(hk, wzPolicyName, pscz); |
66 | if (E_FILENOTFOUND == hr || E_PATHNOTFOUND == hr) | 81 | if (E_FILENOTFOUND == hr || E_PATHNOTFOUND == hr) |
67 | { | 82 | { |
68 | ExitFunction1(hr = S_FALSE); | 83 | ExitFunction1(hr = S_FALSE); |
69 | } | 84 | } |
70 | ExitOnFailure(hr, "Failed to open policy key: %ls, name: %ls", wzPolicyPath, wzPolicyName); | 85 | PolcExitOnFailure(hr, "Failed to open policy key: %ls, name: %ls", wzPolicyPath, wzPolicyName); |
71 | 86 | ||
72 | LExit: | 87 | LExit: |
73 | ReleaseRegKey(hk); | 88 | ReleaseRegKey(hk); |
@@ -99,10 +114,10 @@ static HRESULT OpenPolicyKey( | |||
99 | LPWSTR sczPath = NULL; | 114 | LPWSTR sczPath = NULL; |
100 | 115 | ||
101 | hr = PathConcat(REGISTRY_POLICIES_KEY, wzPolicyPath, &sczPath); | 116 | hr = PathConcat(REGISTRY_POLICIES_KEY, wzPolicyPath, &sczPath); |
102 | ExitOnFailure(hr, "Failed to combine logging path with root path."); | 117 | PolcExitOnFailure(hr, "Failed to combine logging path with root path."); |
103 | 118 | ||
104 | hr = RegOpen(HKEY_LOCAL_MACHINE, sczPath, KEY_READ, phk); | 119 | hr = RegOpen(HKEY_LOCAL_MACHINE, sczPath, KEY_READ, phk); |
105 | ExitOnFailure(hr, "Failed to open policy registry key."); | 120 | PolcExitOnFailure(hr, "Failed to open policy registry key."); |
106 | 121 | ||
107 | LExit: | 122 | LExit: |
108 | ReleaseStr(sczPath); | 123 | ReleaseStr(sczPath); |