aboutsummaryrefslogtreecommitdiffstats
path: root/api/logger.h
diff options
context:
space:
mode:
Diffstat (limited to 'api/logger.h')
-rw-r--r--api/logger.h19
1 files changed, 14 insertions, 5 deletions
diff --git a/api/logger.h b/api/logger.h
index 5e26de3..0affdc3 100644
--- a/api/logger.h
+++ b/api/logger.h
@@ -16,20 +16,29 @@ extern WINTUN_LOGGER_CALLBACK_FUNC Logger;
void WINAPI
WintunSetLogger(_In_ WINTUN_LOGGER_CALLBACK_FUNC NewLogger);
+static inline _Post_equals_last_error_ DWORD
+LoggerLog(_In_ WINTUN_LOGGER_LEVEL Level, _In_z_ const WCHAR *LogLine)
+{
+ DWORD LastError = GetLastError();
+ Logger(Level, LogLine);
+ SetLastError(LastError);
+ return LastError;
+}
+
_Post_equals_last_error_ DWORD
LoggerError(_In_z_ const WCHAR *Prefix, _In_ DWORD Error);
static inline _Post_equals_last_error_ DWORD
LoggerLastError(_In_z_ const WCHAR *Prefix)
{
- DWORD Error = GetLastError();
- LoggerError(Prefix, Error);
- SetLastError(Error);
- return Error;
+ DWORD LastError = GetLastError();
+ LoggerError(Prefix, LastError);
+ SetLastError(LastError);
+ return LastError;
}
#define __L(x) L##x
#define _L(x) __L(x)
-#define LOG(lvl, msg) (Logger((lvl), _L(__FUNCTION__) L": " msg))
+#define LOG(lvl, msg) (LoggerLog((lvl), _L(__FUNCTION__) L": " msg))
#define LOG_ERROR(msg, err) (LoggerError(_L(__FUNCTION__) L": " msg, (err)))
#define LOG_LAST_ERROR(msg) (LoggerLastError(_L(__FUNCTION__) L": " msg))