diff --git a/build/VStudio/winfsp_dll.vcxproj b/build/VStudio/winfsp_dll.vcxproj index 8b634a97..0f9638e6 100644 --- a/build/VStudio/winfsp_dll.vcxproj +++ b/build/VStudio/winfsp_dll.vcxproj @@ -42,6 +42,7 @@ + _UNICODE;UNICODE;%(PreprocessorDefinitions);MyProductName=$(MyProductName);MyDescription=$(MyDescription);MyCompanyName=$(MyCompanyName);MyCopyright=$(MyCopyright);MyVersion=$(MyVersion);MyVersionWithCommas=$(MyVersionWithCommas) _UNICODE;UNICODE;%(PreprocessorDefinitions);MyProductName=$(MyProductName);MyDescription=$(MyDescription);MyCompanyName=$(MyCompanyName);MyCopyright=$(MyCopyright);MyVersion=$(MyVersion);MyVersionWithCommas=$(MyVersionWithCommas) diff --git a/build/VStudio/winfsp_dll.vcxproj.filters b/build/VStudio/winfsp_dll.vcxproj.filters index bc3fc63d..d015fe01 100644 --- a/build/VStudio/winfsp_dll.vcxproj.filters +++ b/build/VStudio/winfsp_dll.vcxproj.filters @@ -71,5 +71,8 @@ Source + + Source + \ No newline at end of file diff --git a/src/dll/eventlog.c b/src/dll/eventlog.c index c8f3cd0c..e50d06db 100644 --- a/src/dll/eventlog.c +++ b/src/dll/eventlog.c @@ -17,6 +17,7 @@ #include #include +#include "eventlog/eventlog.h" static HANDLE FspEventLogHandle; static INIT_ONCE FspEventLogInitOnce = INIT_ONCE_STATIC_INIT; @@ -46,41 +47,18 @@ FSP_API VOID FspEventLogV(ULONG Type, PWSTR Format, va_list ap) Buf[(sizeof Buf / sizeof Buf[0]) - 1] = L'\0'; Strings[0] = Buf; - /* - * Event Identifier Format: - * - * 3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 - * 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 - * +---+-+-+-----------------------+-------------------------------+ - * |Sev|C|R| Facility | Code | - * +---+-+-+-----------------------+-------------------------------+ - * - * Sev - Severity: - * 00 - Success - * 01 - Informational - * 10 - Warning - * 11 - Error - * - * C - Customer: - * 0 - System code - * 1 - Customer code - * - * R - Reserved - * - * See https://msdn.microsoft.com/en-us/library/windows/desktop/aa363651(v=vs.85).aspx - */ switch (Type) { - case EVENTLOG_ERROR_TYPE: - EventId = 0xd0000001; - break; - case EVENTLOG_WARNING_TYPE: - EventId = 0xc0000001; - break; + default: case EVENTLOG_INFORMATION_TYPE: case EVENTLOG_SUCCESS: - default: - EventId = 0x60000001; + EventId = FSP_EVENTLOG_INFORMATION; + break; + case EVENTLOG_WARNING_TYPE: + EventId = FSP_EVENTLOG_WARNING; + break; + case EVENTLOG_ERROR_TYPE: + EventId = FSP_EVENTLOG_ERROR; break; } diff --git a/src/dll/eventlog/eventlog.h b/src/dll/eventlog/eventlog.h new file mode 100644 index 00000000..30650ada --- /dev/null +++ b/src/dll/eventlog/eventlog.h @@ -0,0 +1,63 @@ +// +// Values are 32 bit values laid out as follows: +// +// 3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 +// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 +// +---+-+-+-----------------------+-------------------------------+ +// |Sev|C|R| Facility | Code | +// +---+-+-+-----------------------+-------------------------------+ +// +// where +// +// Sev - is the severity code +// +// 00 - Success +// 01 - Informational +// 10 - Warning +// 11 - Error +// +// C - is the Customer code flag +// +// R - is a reserved bit +// +// Facility - is the facility code +// +// Code - is the facility's status code +// +// +// Define the facility codes +// + + +// +// Define the severity codes +// + + +// +// MessageId: FSP_EVENTLOG_INFORMATION +// +// MessageText: +// +// %1 +// +#define FSP_EVENTLOG_INFORMATION 0x60000001L + +// +// MessageId: FSP_EVENTLOG_WARNING +// +// MessageText: +// +// %1 +// +#define FSP_EVENTLOG_WARNING 0xA0000001L + +// +// MessageId: FSP_EVENTLOG_ERROR +// +// MessageText: +// +// %1 +// +#define FSP_EVENTLOG_ERROR 0xE0000001L + diff --git a/src/dll/eventlog/eventlog.mc b/src/dll/eventlog/eventlog.mc new file mode 100644 index 00000000..c61c9576 --- /dev/null +++ b/src/dll/eventlog/eventlog.mc @@ -0,0 +1,20 @@ +MessageId=1 +Severity=Informational +SymbolicName=FSP_EVENTLOG_INFORMATION +Language=English +%1 +. + +MessageId=1 +Severity=Warning +SymbolicName=FSP_EVENTLOG_WARNING +Language=English +%1 +. + +MessageId=1 +Severity=Error +SymbolicName=FSP_EVENTLOG_ERROR +Language=English +%1 +. diff --git a/src/dll/eventlog/eventlog.rc b/src/dll/eventlog/eventlog.rc new file mode 100644 index 00000000..a1b5dc5a --- /dev/null +++ b/src/dll/eventlog/eventlog.rc @@ -0,0 +1,2 @@ +LANGUAGE 0x9,0x1 +1 11 "eventlog_MSG00001.bin" diff --git a/src/dll/eventlog/eventlog_MSG00001.bin b/src/dll/eventlog/eventlog_MSG00001.bin new file mode 100644 index 00000000..7be1691d Binary files /dev/null and b/src/dll/eventlog/eventlog_MSG00001.bin differ diff --git a/src/dll/eventlog/runmc.bat b/src/dll/eventlog/runmc.bat new file mode 100644 index 00000000..b54bc0e4 --- /dev/null +++ b/src/dll/eventlog/runmc.bat @@ -0,0 +1,5 @@ +@echo off + +call "%VS140COMNTOOLS%\..\..\VC\vcvarsall.bat" + +mc -b -c eventlog.mc