aboutsummaryrefslogtreecommitdiff
path: root/src/dutil/polcutil.cpp
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/dutil/polcutil.cpp27
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
5const LPCWSTR REGISTRY_POLICIES_KEY = L"SOFTWARE\\Policies\\"; 20const LPCWSTR REGISTRY_POLICIES_KEY = L"SOFTWARE\\Policies\\";
6 21
7static HRESULT OpenPolicyKey( 22static 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
37LExit: 52LExit:
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
72LExit: 87LExit:
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
107LExit: 122LExit:
108 ReleaseStr(sczPath); 123 ReleaseStr(sczPath);