Author: hbelusca
Date: Sat May 21 21:44:14 2016
New Revision: 71367
URL:
http://svn.reactos.org/svn/reactos?rev=71367&view=rev
Log:
[EVENTVWR]
- Finish to convert the app to full unicode;
- Don't hardcode buffer lengths in function calls;
- Remove useless #pragma incantation;
- Whitespace fix.
Modified:
trunk/reactos/base/applications/mscutils/eventvwr/eventvwr.c
Modified: trunk/reactos/base/applications/mscutils/eventvwr/eventvwr.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mscutils…
==============================================================================
--- trunk/reactos/base/applications/mscutils/eventvwr/eventvwr.c [iso-8859-1] (original)
+++ trunk/reactos/base/applications/mscutils/eventvwr/eventvwr.c [iso-8859-1] Sat May 21
21:44:14 2016
@@ -37,13 +37,8 @@
#include "resource.h"
-#if _MSC_VER
- #pragma warning(disable: 4996) /* 'strdup' was declared deprecated */
- #define _CRT_SECURE_NO_DEPRECATE /* all deprecated unsafe string functions */
-#endif
-
-static const WCHAR szWindowClass[] = L"EVENTVWR"; /* the main window
class name*/
-static const WCHAR EVENTLOG_BASE_KEY[] =
L"SYSTEM\\CurrentControlSet\\Services\\EventLog\\";
+static const WCHAR szWindowClass[] = L"EVENTVWR"; /* the main window class
name */
+static const WCHAR EVENTLOG_BASE_KEY[] =
L"SYSTEM\\CurrentControlSet\\Services\\EventLog\\";
// MessageFile message buffer size
#define EVENT_MESSAGE_EVENTTEXT_BUFFER 1024*10
@@ -74,7 +69,7 @@
LPWSTR lpComputerName = NULL;
DWORD dwNumLogs = 0;
-WCHAR **LogNames;
+LPWSTR* LogNames;
/* Forward declarations of functions included in this code module: */
ATOM MyRegisterClass(HINSTANCE hInstance);
@@ -101,14 +96,14 @@
/* Whenever any of the common controls are used in your app,
* you must call InitCommonControlsEx() to register the classes
* for those controls. */
- iccx.dwSize = sizeof(INITCOMMONCONTROLSEX);
+ iccx.dwSize = sizeof(iccx);
iccx.dwICC = ICC_LISTVIEW_CLASSES;
InitCommonControlsEx(&iccx);
/* Initialize global strings */
- LoadStringW(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING);
- LoadStringW(hInstance, IDS_APP_TITLE_EX, szTitleTemplate, MAX_LOADSTRING);
- LoadStringW(hInstance, IDS_STATUS_MSG, szStatusBarTemplate, MAX_LOADSTRING);
+ LoadStringW(hInstance, IDS_APP_TITLE, szTitle, ARRAYSIZE(szTitle));
+ LoadStringW(hInstance, IDS_APP_TITLE_EX, szTitleTemplate,
ARRAYSIZE(szTitleTemplate));
+ LoadStringW(hInstance, IDS_STATUS_MSG, szStatusBarTemplate,
ARRAYSIZE(szStatusBarTemplate));
MyRegisterClass(hInstance);
/* Perform application initialization: */
@@ -117,7 +112,7 @@
return FALSE;
}
- hAccelTable = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDA_EVENTVWR));
+ hAccelTable = LoadAcceleratorsW(hInstance, MAKEINTRESOURCEW(IDA_EVENTVWR));
/* Main message loop: */
while (GetMessageW(&msg, NULL, 0, 0))
@@ -125,7 +120,7 @@
if (!TranslateAcceleratorW(msg.hwnd, hAccelTable, &msg))
{
TranslateMessage(&msg);
- DispatchMessage(&msg);
+ DispatchMessageW(&msg);
}
}
@@ -207,7 +202,7 @@
OUT PWCHAR ExpandedName)
{
DWORD dwSize;
- BYTE szModuleName[MAX_PATH];
+ WCHAR szModuleName[MAX_PATH];
WCHAR szKeyName[MAX_PATH];
HKEY hAppKey = NULL;
HKEY hSourceKey = NULL;
@@ -217,27 +212,27 @@
StringCbCatW(szKeyName, sizeof(szKeyName), lpLogName);
if (RegOpenKeyExW(HKEY_LOCAL_MACHINE,
- szKeyName,
- 0,
- KEY_READ,
- &hAppKey) == ERROR_SUCCESS)
+ szKeyName,
+ 0,
+ KEY_READ,
+ &hAppKey) == ERROR_SUCCESS)
{
if (RegOpenKeyExW(hAppKey,
- SourceName,
- 0,
- KEY_READ,
- &hSourceKey) == ERROR_SUCCESS)
- {
- dwSize = MAX_PATH;
+ SourceName,
+ 0,
+ KEY_READ,
+ &hSourceKey) == ERROR_SUCCESS)
+ {
+ dwSize = sizeof(szModuleName);
if (RegQueryValueExW(hSourceKey,
- EntryName,
- NULL,
- NULL,
- (LPBYTE)szModuleName,
- &dwSize) == ERROR_SUCCESS)
+ EntryName,
+ NULL,
+ NULL,
+ (LPBYTE)szModuleName,
+ &dwSize) == ERROR_SUCCESS)
{
/* Returns a string containing the requested substituted environment
variable. */
- ExpandEnvironmentStringsW((LPCWSTR)szModuleName, ExpandedName,
MAX_PATH);
+ ExpandEnvironmentStringsW(szModuleName, ExpandedName, MAX_PATH);
/* Successful */
bReturn = TRUE;
@@ -269,21 +264,20 @@
WCHAR szMessageDLL[MAX_PATH];
LPVOID lpMsgBuf = NULL;
- if (GetEventMessageFileDLL (KeyName, SourceName, EVENT_CATEGORY_MESSAGE_FILE ,
szMessageDLL))
- {
- hLibrary = LoadLibraryExW(szMessageDLL,
- NULL,
- DONT_RESOLVE_DLL_REFERENCES |
LOAD_LIBRARY_AS_DATAFILE);
+ if (GetEventMessageFileDLL(KeyName, SourceName, EVENT_CATEGORY_MESSAGE_FILE ,
szMessageDLL))
+ {
+ hLibrary = LoadLibraryExW(szMessageDLL, NULL,
+ DONT_RESOLVE_DLL_REFERENCES |
LOAD_LIBRARY_AS_DATAFILE);
if (hLibrary != NULL)
{
/* Retrieve the message string. */
if (FormatMessageW(FORMAT_MESSAGE_FROM_SYSTEM |
FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_HMODULE |
FORMAT_MESSAGE_ARGUMENT_ARRAY,
- hLibrary,
- pevlr->EventCategory,
- MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
- (LPWSTR)&lpMsgBuf,
- EVENT_MESSAGE_FILE_BUFFER,
- NULL) != 0)
+ hLibrary,
+ pevlr->EventCategory,
+ MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
+ (LPWSTR)&lpMsgBuf,
+ EVENT_MESSAGE_FILE_BUFFER,
+ NULL) != 0)
{
/* Trim the string */
TrimNulls(lpMsgBuf);
@@ -331,7 +325,7 @@
BOOL bDone = FALSE;
/* TODO : GetEventMessageFileDLL can return a comma separated list of DLLs */
- if (GetEventMessageFileDLL (KeyName, SourceName, EVENT_MESSAGE_FILE,
SourceModuleName))
+ if (GetEventMessageFileDLL(KeyName, SourceName, EVENT_MESSAGE_FILE,
SourceModuleName))
{
/* Get the event message */
szMessage = (LPWSTR)((LPBYTE)pevlr + pevlr->StringOffset);
@@ -360,9 +354,8 @@
szDll = wcstok(SourceModuleName, EVENT_DLL_SEPARATOR);
while ((szDll != NULL) && (!bDone))
{
- hLibrary = LoadLibraryExW(szDll,
- NULL,
- DONT_RESOLVE_DLL_REFERENCES |
LOAD_LIBRARY_AS_DATAFILE);
+ hLibrary = LoadLibraryExW(szDll, NULL,
+ DONT_RESOLVE_DLL_REFERENCES |
LOAD_LIBRARY_AS_DATAFILE);
if (hLibrary == NULL)
{
/* The DLL could not be loaded try the next one (if any) */
@@ -372,15 +365,15 @@
{
/* Retrieve the message string. */
if (FormatMessageW(FORMAT_MESSAGE_FROM_SYSTEM |
- FORMAT_MESSAGE_ALLOCATE_BUFFER |
- FORMAT_MESSAGE_FROM_HMODULE |
- FORMAT_MESSAGE_ARGUMENT_ARRAY,
- hLibrary,
- pevlr->EventID,
- MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
- (LPWSTR)&lpMsgBuf,
- 0,
- (va_list*)szArguments) == 0)
+ FORMAT_MESSAGE_ALLOCATE_BUFFER |
+ FORMAT_MESSAGE_FROM_HMODULE |
+ FORMAT_MESSAGE_ARGUMENT_ARRAY,
+ hLibrary,
+ pevlr->EventID,
+ MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
+ (LPWSTR)&lpMsgBuf,
+ 0,
+ (va_list*)szArguments) == 0)
{
/* We haven't found the string , get next DLL (if any) */
szDll = wcstok(NULL, EVENT_DLL_SEPARATOR);
@@ -406,7 +399,7 @@
if (!bDone)
{
- LoadStringW(hInst, IDS_EVENTSTRINGIDNOTFOUND, szStringIDNotFound,
MAX_LOADSTRING);
+ LoadStringW(hInst, IDS_EVENTSTRINGIDNOTFOUND, szStringIDNotFound,
ARRAYSIZE(szStringIDNotFound));
StringCchPrintfW(EventText, EVENT_MESSAGE_EVENTTEXT_BUFFER,
szStringIDNotFound, (pevlr->EventID & 0xFFFF), SourceName);
}
@@ -416,7 +409,7 @@
return bDone;
}
- LoadStringW(hInst, IDS_EVENTSTRINGIDNOTFOUND, szStringIDNotFound, MAX_LOADSTRING);
+ LoadStringW(hInst, IDS_EVENTSTRINGIDNOTFOUND, szStringIDNotFound,
ARRAYSIZE(szStringIDNotFound));
StringCchPrintfW(EventText, EVENT_MESSAGE_EVENTTEXT_BUFFER, szStringIDNotFound,
(pevlr->EventID & 0xFFFF), SourceName);
return FALSE;
@@ -471,12 +464,12 @@
if (pelr->UserSidLength > 0)
{
if (LookupAccountSidW(NULL,
- lpSid,
- szName,
- &cbName,
- szDomain,
- &cbDomain,
- &peUse))
+ lpSid,
+ szName,
+ &cbName,
+ szDomain,
+ &cbDomain,
+ &peUse))
{
StringCchCopyW(pszUser, MAX_PATH, szName);
return TRUE;
@@ -494,11 +487,11 @@
HWND hWnd;
MSG Msg;
- hWnd = CreateDialogParam(hInst,
- MAKEINTRESOURCE(IDD_PROGRESSBOX),
- GetDesktopWindow(),
- StatusMessageWindowProc,
- (LPARAM)NULL);
+ hWnd = CreateDialogParamW(hInst,
+ MAKEINTRESOURCEW(IDD_PROGRESSBOX),
+ GetDesktopWindow(),
+ StatusMessageWindowProc,
+ (LPARAM)NULL);
if (!hWnd)
return 0;
@@ -507,10 +500,10 @@
ShowWindow(hWnd, SW_SHOW);
/* Message loop for the Status window */
- while (GetMessage(&Msg, NULL, 0, 0))
+ while (GetMessageW(&Msg, NULL, 0, 0))
{
TranslateMessage(&Msg);
- DispatchMessage(&Msg);
+ DispatchMessageW(&Msg);
}
return 0;
@@ -550,8 +543,7 @@
dwFlags = EVENTLOG_FORWARDS_READ | EVENTLOG_SEQUENTIAL_READ;
/* Open the event log. */
- hEventLog = OpenEventLogW(lpMachineName,
- lpLogName);
+ hEventLog = OpenEventLogW(lpMachineName, lpLogName);
if (hEventLog == NULL)
{
ShowLastWin32Error();
@@ -562,7 +554,7 @@
lpComputerName = lpMachineName;
/* Disable listview redraw */
- SendMessage(hwndListView, WM_SETREDRAW, FALSE, 0);
+ SendMessageW(hwndListView, WM_SETREDRAW, FALSE, 0);
/* Clear the list view */
(void)ListView_DeleteAllItems (hwndListView);
@@ -585,7 +577,7 @@
EnableMenuItem(hMainMenu, IDM_SAVE_PROTOCOL, MF_BYCOMMAND | MF_GRAYED);
}
- g_RecordPtrs = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, dwTotalRecords *
sizeof(PVOID));
+ g_RecordPtrs = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, dwTotalRecords *
sizeof(*g_RecordPtrs));
/* If we have at least 1000 records show the waiting dialog */
if (dwTotalRecords > 1000)
@@ -600,29 +592,29 @@
while (dwCurrentRecord < dwTotalRecords)
{
- pevlr = HeapAlloc(GetProcessHeap(), 0, sizeof(EVENTLOGRECORD));
+ pevlr = HeapAlloc(GetProcessHeap(), 0, sizeof(*pevlr));
g_RecordPtrs[dwCurrentRecord] = pevlr;
- bResult = ReadEventLog(hEventLog, // Event log handle
- dwFlags, // Sequential read
- 0, // Ignored for sequential read
- pevlr, // Pointer to buffer
- sizeof(EVENTLOGRECORD), // Size of buffer
- &dwRead, // Number of bytes read
- &dwNeeded); // Bytes in the next record
- if((!bResult) && (GetLastError () == ERROR_INSUFFICIENT_BUFFER))
+ bResult = ReadEventLogW(hEventLog, // Event log handle
+ dwFlags, // Sequential read
+ 0, // Ignored for sequential read
+ pevlr, // Pointer to buffer
+ sizeof(*pevlr), // Size of buffer
+ &dwRead, // Number of bytes read
+ &dwNeeded); // Bytes in the next record
+ if ((!bResult) && (GetLastError () == ERROR_INSUFFICIENT_BUFFER))
{
HeapFree(GetProcessHeap(), 0, pevlr);
pevlr = HeapAlloc(GetProcessHeap(), 0, dwNeeded);
g_RecordPtrs[dwCurrentRecord] = pevlr;
ReadEventLogW(hEventLog, // event log handle
- dwFlags, // read flags
- 0, // offset; default is 0
- pevlr, // pointer to buffer
- dwNeeded, // size of buffer
- &dwRead, // number of bytes read
- &dwNeeded); // bytes in next record
+ dwFlags, // read flags
+ 0, // offset; default is 0
+ pevlr, // pointer to buffer
+ dwNeeded, // size of buffer
+ &dwRead, // number of bytes read
+ &dwNeeded); // bytes in next record
}
while (dwRead > 0)
@@ -637,7 +629,7 @@
// Get the computer name
lpComputerName = (LPWSTR)((LPBYTE)pevlr + sizeof(EVENTLOGRECORD) +
(wcslen(lpSourceName) + 1) * sizeof(WCHAR));
- // This ist the data section of the current event
+ // This is the data section of the current event
lpData = (LPSTR)((LPBYTE)pevlr + pevlr->DataOffset);
// Compute the event type
@@ -695,15 +687,15 @@
ListView_SetItemText(hwndListView, lviEventItem.iItem, 3, lpSourceName);
ListView_SetItemText(hwndListView, lviEventItem.iItem, 4, szCategory);
ListView_SetItemText(hwndListView, lviEventItem.iItem, 5, szEventID);
- ListView_SetItemText(hwndListView, lviEventItem.iItem, 6, szUsername);
//User
- ListView_SetItemText(hwndListView, lviEventItem.iItem, 7, lpComputerName);
//Computer
+ ListView_SetItemText(hwndListView, lviEventItem.iItem, 6, szUsername);
+ ListView_SetItemText(hwndListView, lviEventItem.iItem, 7, lpComputerName);
MultiByteToWideChar(CP_ACP,
0,
lpData,
pevlr->DataLength,
szData,
MAX_PATH);
- ListView_SetItemText(hwndListView, lviEventItem.iItem, 8, szData); //Event
Text
+ ListView_SetItemText(hwndListView, lviEventItem.iItem, 8, szData); // Event
Text
dwRead -= pevlr->Length;
pevlr = (EVENTLOGRECORD *)((LPBYTE) pevlr + pevlr->Length);
@@ -714,11 +706,11 @@
}
// All events loaded
- if(hwndDlg)
+ if (hwndDlg)
EndDialog(hwndDlg, 0);
StringCchPrintfExW(szWindowTitle,
- sizeof(szWindowTitle) / sizeof(WCHAR),
+ ARRAYSIZE(szWindowTitle),
&lpTitleTemplateEnd,
&cchRemaining,
0,
@@ -757,7 +749,7 @@
ZeroMemory(szFileName, sizeof(szFileName));
sfn.lpstrFile = szFileName;
- sfn.nMaxFile = MAX_PATH;
+ sfn.nMaxFile = ARRAYSIZE(szFileName);
if (!GetSaveFileNameW(&sfn))
{
@@ -790,10 +782,10 @@
ZeroMemory(szFileName, sizeof(szFileName));
ZeroMemory(szMessage, sizeof(szMessage));
- LoadStringW(hInst, IDS_CLEAREVENTS_MSG, szMessage, MAX_LOADSTRING);
+ LoadStringW(hInst, IDS_CLEAREVENTS_MSG, szMessage, ARRAYSIZE(szMessage));
sfn.lpstrFile = szFileName;
- sfn.nMaxFile = MAX_PATH;
+ sfn.nMaxFile = ARRAYSIZE(szFileName);
switch (MessageBoxW(hwndMainWindow, szMessage, szTitle, MB_YESNOCANCEL |
MB_ICONINFORMATION))
{
@@ -851,23 +843,23 @@
{
WNDCLASSEXW wcex;
- wcex.cbSize = sizeof(WNDCLASSEX);
+ wcex.cbSize = sizeof(wcex);
wcex.style = 0;
wcex.lpfnWndProc = WndProc;
wcex.cbClsExtra = 0;
wcex.cbWndExtra = 0;
wcex.hInstance = hInstance;
- wcex.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_EVENTVWR));
- wcex.hCursor = LoadCursor(NULL, IDC_ARROW);
+ wcex.hIcon = LoadIconW(hInstance, MAKEINTRESOURCEW(IDI_EVENTVWR));
+ wcex.hCursor = LoadCursorW(NULL, MAKEINTRESOURCEW(IDC_ARROW));
wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);
- wcex.lpszMenuName = MAKEINTRESOURCE(IDM_EVENTVWR);
+ wcex.lpszMenuName = MAKEINTRESOURCEW(IDM_EVENTVWR);
wcex.lpszClassName = szWindowClass;
- wcex.hIconSm = (HICON)LoadImage(hInstance,
- MAKEINTRESOURCE(IDI_EVENTVWR),
- IMAGE_ICON,
- 16,
- 16,
- LR_SHARED);
+ wcex.hIconSm = (HICON)LoadImageW(hInstance,
+ MAKEINTRESOURCEW(IDI_EVENTVWR),
+ IMAGE_ICON,
+ 16,
+ 16,
+ LR_SHARED);
return RegisterClassExW(&wcex);
}
@@ -974,7 +966,7 @@
return;
}
- LogNames = HeapAlloc(GetProcessHeap(), 0, (dwNumLogs + 1) * sizeof(WCHAR*));
+ LogNames = HeapAlloc(GetProcessHeap(), 0, (dwNumLogs + 1) * sizeof(LPWSTR));
if (!LogNames)
{
@@ -1001,7 +993,13 @@
hLibrary = LoadLibraryExW(szModuleName, NULL, DONT_RESOLVE_DLL_REFERENCES
| LOAD_LIBRARY_AS_DATAFILE);
if (hLibrary != NULL)
{
- FormatMessageW(FORMAT_MESSAGE_ALLOCATE_BUFFER |
FORMAT_MESSAGE_FROM_HMODULE, hLibrary, dwMessageID, 0, (LPWSTR)&lpDisplayName, 0,
NULL);
+ FormatMessageW(FORMAT_MESSAGE_ALLOCATE_BUFFER |
FORMAT_MESSAGE_FROM_HMODULE,
+ hLibrary,
+ dwMessageID,
+ 0,
+ (LPWSTR)&lpDisplayName,
+ 0,
+ NULL);
FreeLibrary(hLibrary);
}
@@ -1068,43 +1066,43 @@
hInst = hInstance; // Store instance handle in our global variable
hwndMainWindow = CreateWindowW(szWindowClass,
- szTitle,
- WS_OVERLAPPEDWINDOW | WS_CLIPCHILDREN,
- CW_USEDEFAULT, 0, CW_USEDEFAULT, 0,
- NULL,
- NULL,
- hInstance,
- NULL);
+ szTitle,
+ WS_OVERLAPPEDWINDOW | WS_CLIPCHILDREN,
+ CW_USEDEFAULT, 0, CW_USEDEFAULT, 0,
+ NULL,
+ NULL,
+ hInstance,
+ NULL);
if (!hwndMainWindow)
{
return FALSE;
}
hwndStatus = CreateWindowExW(0, // no extended
styles
- STATUSCLASSNAMEW, // status bar
- L"Done.", // no text
- WS_CHILD | WS_BORDER | WS_VISIBLE, // styles
- 0, 0, 0, 0, // x, y, cx, cy
- hwndMainWindow, // parent window
- (HMENU)100, // window ID
- hInstance, // instance
- NULL); // window data
+ STATUSCLASSNAMEW, // status bar
+ L"", // no
text
+ WS_CHILD | WS_BORDER | WS_VISIBLE, // styles
+ 0, 0, 0, 0, // x, y, cx, cy
+ hwndMainWindow, // parent window
+ (HMENU)100, // window ID
+ hInstance, // instance
+ NULL); // window data
// Create our listview child window. Note that I use WS_EX_CLIENTEDGE
// and WS_BORDER to create the normal "sunken" look. Also note that
// LVS_EX_ styles cannot be set in CreateWindowEx().
hwndListView = CreateWindowExW(WS_EX_CLIENTEDGE,
- WC_LISTVIEWW,
- L"",
- LVS_SHOWSELALWAYS | WS_CHILD | WS_VISIBLE |
LVS_REPORT,
- 0,
- 0,
- 243,
- 200,
- hwndMainWindow,
- NULL,
- hInstance,
- NULL);
+ WC_LISTVIEWW,
+ L"",
+ LVS_SHOWSELALWAYS | WS_CHILD | WS_VISIBLE |
LVS_REPORT,
+ 0,
+ 0,
+ 243,
+ 200,
+ hwndMainWindow,
+ NULL,
+ hInstance,
+ NULL);
// After the ListView is created, we can add extended list view styles.
(void)ListView_SetExtendedListViewStyle (hwndListView, LVS_EX_FULLROWSELECT);
@@ -1117,12 +1115,12 @@
1);
// Add event type icons to ImageList
- ImageList_AddIcon (hSmall, LoadIcon(hInstance,
MAKEINTRESOURCE(IDI_INFORMATIONICON)));
- ImageList_AddIcon (hSmall, LoadIcon(hInstance, MAKEINTRESOURCE(IDI_WARNINGICON)));
- ImageList_AddIcon (hSmall, LoadIcon(hInstance, MAKEINTRESOURCE(IDI_ERRORICON)));
+ ImageList_AddIcon(hSmall, LoadIconW(hInstance,
MAKEINTRESOURCEW(IDI_INFORMATIONICON)));
+ ImageList_AddIcon(hSmall, LoadIconW(hInstance, MAKEINTRESOURCEW(IDI_WARNINGICON)));
+ ImageList_AddIcon(hSmall, LoadIconW(hInstance, MAKEINTRESOURCEW(IDI_ERRORICON)));
// Assign ImageList to List View
- (void)ListView_SetImageList (hwndListView, hSmall, LVSIL_SMALL);
+ (void)ListView_SetImageList(hwndListView, hSmall, LVSIL_SMALL);
// Now set up the listview with its columns.
lvc.mask = LVCF_TEXT | LVCF_WIDTH;
@@ -1130,7 +1128,7 @@
LoadStringW(hInstance,
IDS_COLUMNTYPE,
szTemp,
- sizeof(szTemp) / sizeof(WCHAR));
+ ARRAYSIZE(szTemp));
lvc.pszText = szTemp;
(void)ListView_InsertColumn(hwndListView, 0, &lvc);
@@ -1138,7 +1136,7 @@
LoadStringW(hInstance,
IDS_COLUMNDATE,
szTemp,
- sizeof(szTemp) / sizeof(WCHAR));
+ ARRAYSIZE(szTemp));
lvc.pszText = szTemp;
(void)ListView_InsertColumn(hwndListView, 1, &lvc);
@@ -1146,7 +1144,7 @@
LoadStringW(hInstance,
IDS_COLUMNTIME,
szTemp,
- sizeof(szTemp) / sizeof(WCHAR));
+ ARRAYSIZE(szTemp));
lvc.pszText = szTemp;
(void)ListView_InsertColumn(hwndListView, 2, &lvc);
@@ -1154,7 +1152,7 @@
LoadStringW(hInstance,
IDS_COLUMNSOURCE,
szTemp,
- sizeof(szTemp) / sizeof(WCHAR));
+ ARRAYSIZE(szTemp));
lvc.pszText = szTemp;
(void)ListView_InsertColumn(hwndListView, 3, &lvc);
@@ -1162,7 +1160,7 @@
LoadStringW(hInstance,
IDS_COLUMNCATEGORY,
szTemp,
- sizeof(szTemp) / sizeof(WCHAR));
+ ARRAYSIZE(szTemp));
lvc.pszText = szTemp;
(void)ListView_InsertColumn(hwndListView, 4, &lvc);
@@ -1170,7 +1168,7 @@
LoadStringW(hInstance,
IDS_COLUMNEVENT,
szTemp,
- sizeof(szTemp) / sizeof(WCHAR));
+ ARRAYSIZE(szTemp));
lvc.pszText = szTemp;
(void)ListView_InsertColumn(hwndListView, 5, &lvc);
@@ -1178,7 +1176,7 @@
LoadStringW(hInstance,
IDS_COLUMNUSER,
szTemp,
- sizeof(szTemp) / sizeof(WCHAR));
+ ARRAYSIZE(szTemp));
lvc.pszText = szTemp;
(void)ListView_InsertColumn(hwndListView, 6, &lvc);
@@ -1186,7 +1184,7 @@
LoadStringW(hInstance,
IDS_COLUMNCOMPUTER,
szTemp,
- sizeof(szTemp) / sizeof(WCHAR));
+ ARRAYSIZE(szTemp));
lvc.pszText = szTemp;
(void)ListView_InsertColumn(hwndListView, 7, &lvc);
@@ -1194,7 +1192,7 @@
LoadStringW(hInstance,
IDS_COLUMNEVENTDATA,
szTemp,
- sizeof(szTemp) / sizeof(WCHAR));
+ ARRAYSIZE(szTemp));
lvc.pszText = szTemp;
(void)ListView_InsertColumn(hwndListView, 8, &lvc);
@@ -1202,7 +1200,7 @@
ZeroMemory(&sfn, sizeof(sfn));
ZeroMemory(szSaveFilter, sizeof(szSaveFilter));
- LoadStringW(hInst, IDS_SAVE_FILTER, szSaveFilter, MAX_LOADSTRING);
+ LoadStringW(hInst, IDS_SAVE_FILTER, szSaveFilter, ARRAYSIZE(szSaveFilter));
sfn.lStructSize = sizeof(sfn);
sfn.hwndOwner = hwndMainWindow;
@@ -1236,6 +1234,14 @@
case WM_CREATE:
hMainMenu = GetMenu(hWnd);
break;
+
+ case WM_DESTROY:
+ {
+ FreeRecords();
+ FreeLogList();
+ PostQuitMessage(0);
+ break;
+ }
case WM_NOTIFY:
switch (((LPNMHDR)lParam)->code)
@@ -1248,10 +1254,10 @@
if (lpnmitem->iItem != -1)
{
- DialogBox(hInst,
- MAKEINTRESOURCE(IDD_EVENTPROPERTIES),
- hWnd,
- EventDetails);
+ DialogBoxW(hInst,
+ MAKEINTRESOURCEW(IDD_EVENTPROPERTIES),
+ hWnd,
+ EventDetails);
}
}
break;
@@ -1259,6 +1265,7 @@
break;
case WM_COMMAND:
+ {
// Parse the menu selections:
if ((LOWORD(wParam) >= ID_FIRST_LOG) && (LOWORD(wParam) <=
ID_FIRST_LOG + dwNumLogs))
@@ -1291,26 +1298,28 @@
break;
case IDM_ABOUT:
- DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About);
+ DialogBoxW(hInst, MAKEINTRESOURCEW(IDD_ABOUTBOX), hWnd, About);
break;
case IDM_HELP:
MessageBoxW(hwndMainWindow,
- L"Help not implemented yet!",
- L"Event Log",
- MB_OK | MB_ICONINFORMATION);
- break;
+ L"Help not implemented yet!",
+ L"Event Log",
+ MB_OK | MB_ICONINFORMATION);
+ break;
case IDM_EXIT:
DestroyWindow(hWnd);
break;
default:
- return DefWindowProc(hWnd, message, wParam, lParam);
+ return DefWindowProcW(hWnd, message, wParam, lParam);
}
break;
+ }
case WM_SIZE:
+ {
// Gets the window rectangle
GetClientRect(hWnd, &rect);
@@ -1323,17 +1332,12 @@
1);
// Resize the statusbar;
- SendMessage(hwndStatus, message, wParam, lParam);
+ SendMessageW(hwndStatus, message, wParam, lParam);
break;
-
- case WM_DESTROY:
- FreeRecords();
- FreeLogList();
- PostQuitMessage(0);
- break;
+ }
default:
- return DefWindowProc(hWnd, message, wParam, lParam);
+ return DefWindowProcW(hWnd, message, wParam, lParam);
}
return 0;
@@ -1348,9 +1352,9 @@
switch (message)
{
case WM_INITDIALOG:
- {
- return (INT_PTR)TRUE;
- }
+ {
+ return (INT_PTR)TRUE;
+ }
case WM_COMMAND:
if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL)
@@ -1383,7 +1387,7 @@
int iIndex;
// Get index of selected item
- iIndex = (int)SendMessage (hwndListView, LVM_GETNEXTITEM, -1, LVNI_SELECTED |
LVNI_FOCUSED);
+ iIndex = (int)SendMessageW(hwndListView, LVM_GETNEXTITEM, -1, LVNI_SELECTED |
LVNI_FOCUSED);
li.mask = LVIF_PARAM;
li.iItem = iIndex;
@@ -1395,14 +1399,14 @@
if (iIndex != -1)
{
- ListView_GetItemText(hwndListView, iIndex, 0, szEventType, sizeof(szEventType) /
sizeof(WCHAR));
- ListView_GetItemText(hwndListView, iIndex, 1, szDate, sizeof(szDate) /
sizeof(WCHAR));
- ListView_GetItemText(hwndListView, iIndex, 2, szTime, sizeof(szTime) /
sizeof(WCHAR));
- ListView_GetItemText(hwndListView, iIndex, 3, szSource, sizeof(szSource) /
sizeof(WCHAR));
- ListView_GetItemText(hwndListView, iIndex, 4, szCategory, sizeof(szCategory) /
sizeof(WCHAR));
- ListView_GetItemText(hwndListView, iIndex, 5, szEventID, sizeof(szEventID) /
sizeof(WCHAR));
- ListView_GetItemText(hwndListView, iIndex, 6, szUser, sizeof(szUser) /
sizeof(WCHAR));
- ListView_GetItemText(hwndListView, iIndex, 7, szComputer, sizeof(szComputer) /
sizeof(WCHAR));
+ ListView_GetItemText(hwndListView, iIndex, 0, szEventType,
ARRAYSIZE(szEventType));
+ ListView_GetItemText(hwndListView, iIndex, 1, szDate, ARRAYSIZE(szDate));
+ ListView_GetItemText(hwndListView, iIndex, 2, szTime, ARRAYSIZE(szTime));
+ ListView_GetItemText(hwndListView, iIndex, 3, szSource, ARRAYSIZE(szSource));
+ ListView_GetItemText(hwndListView, iIndex, 4, szCategory,
ARRAYSIZE(szCategory));
+ ListView_GetItemText(hwndListView, iIndex, 5, szEventID, ARRAYSIZE(szEventID));
+ ListView_GetItemText(hwndListView, iIndex, 6, szUser, ARRAYSIZE(szUser));
+ ListView_GetItemText(hwndListView, iIndex, 7, szComputer,
ARRAYSIZE(szComputer));
bEventData = !(pevlr->DataLength == 0);
@@ -1423,7 +1427,6 @@
SetDlgItemTextW(hDlg, IDC_EVENTDATESTATIC, szDate);
SetDlgItemTextW(hDlg, IDC_EVENTTIMESTATIC, szTime);
-
SetDlgItemTextW(hDlg, IDC_EVENTUSERSTATIC, szUser);
SetDlgItemTextW(hDlg, IDC_EVENTSOURCESTATIC, szSource);
SetDlgItemTextW(hDlg, IDC_EVENTCOMPUTERSTATIC, szComputer);
@@ -1436,9 +1439,9 @@
else
{
MessageBoxW(NULL,
- L"No Items in ListView",
- L"Error",
- MB_OK | MB_ICONINFORMATION);
+ L"No Items in ListView",
+ L"Error",
+ MB_OK | MB_ICONINFORMATION);
}
}
@@ -1464,18 +1467,18 @@
EmptyClipboard();
/* Get the formatted text needed to place the content into */
- LoadStringW(hInst, IDS_COPY, tmpHeader, sizeof(tmpHeader) / sizeof(WCHAR));
+ LoadStringW(hInst, IDS_COPY, tmpHeader, ARRAYSIZE(tmpHeader));
/* Grabs all the information and get it ready for the clipboard */
- GetDlgItemText(hWnd, IDC_EVENTTYPESTATIC, szEventType, MAX_PATH);
- GetDlgItemText(hWnd, IDC_EVENTSOURCESTATIC, szSource, MAX_PATH);
- GetDlgItemText(hWnd, IDC_EVENTCATEGORYSTATIC, szCategory, MAX_PATH);
- GetDlgItemText(hWnd, IDC_EVENTIDSTATIC, szEventID, MAX_PATH);
- GetDlgItemText(hWnd, IDC_EVENTDATESTATIC, szDate, MAX_PATH);
- GetDlgItemText(hWnd, IDC_EVENTTIMESTATIC, szTime, MAX_PATH);
- GetDlgItemText(hWnd, IDC_EVENTUSERSTATIC, szUser, MAX_PATH);
- GetDlgItemText(hWnd, IDC_EVENTCOMPUTERSTATIC, szComputer, MAX_PATH);
- GetDlgItemText(hWnd, IDC_EVENTTEXTEDIT, evtDesc, ENTRY_SIZE);
+ GetDlgItemTextW(hWnd, IDC_EVENTTYPESTATIC, szEventType, ARRAYSIZE(szEventType));
+ GetDlgItemTextW(hWnd, IDC_EVENTSOURCESTATIC, szSource, ARRAYSIZE(szSource));
+ GetDlgItemTextW(hWnd, IDC_EVENTCATEGORYSTATIC, szCategory, ARRAYSIZE(szCategory));
+ GetDlgItemTextW(hWnd, IDC_EVENTIDSTATIC, szEventID, ARRAYSIZE(szEventID));
+ GetDlgItemTextW(hWnd, IDC_EVENTDATESTATIC, szDate, ARRAYSIZE(szDate));
+ GetDlgItemTextW(hWnd, IDC_EVENTTIMESTATIC, szTime, ARRAYSIZE(szTime));
+ GetDlgItemTextW(hWnd, IDC_EVENTUSERSTATIC, szUser, ARRAYSIZE(szUser));
+ GetDlgItemTextW(hWnd, IDC_EVENTCOMPUTERSTATIC, szComputer, ARRAYSIZE(szComputer));
+ GetDlgItemTextW(hWnd, IDC_EVENTTEXTEDIT, evtDesc, ARRAYSIZE(evtDesc));
/* Consolidate the information into on big piece */
wsprintfW(output, tmpHeader, szEventType, szSource, szCategory, szEventID, szDate,
szTime, szUser, szComputer, evtDesc);
@@ -1515,13 +1518,13 @@
VOID
InitDetailsDlg(HWND hDlg)
{
- HANDLE nextIcon = LoadImage(hInst, MAKEINTRESOURCE(IDI_NEXT), IMAGE_ICON, 16, 16,
LR_DEFAULTCOLOR);
- HANDLE prevIcon = LoadImage(hInst, MAKEINTRESOURCE(IDI_PREV), IMAGE_ICON, 16, 16,
LR_DEFAULTCOLOR);
- HANDLE copyIcon = LoadImage(hInst, MAKEINTRESOURCE(IDI_COPY), IMAGE_ICON, 16, 16,
LR_DEFAULTCOLOR);
-
- SendMessage(GetDlgItem(hDlg, IDC_NEXT), BM_SETIMAGE, (WPARAM)IMAGE_ICON,
(LPARAM)nextIcon);
- SendMessage(GetDlgItem(hDlg, IDC_PREVIOUS), BM_SETIMAGE, (WPARAM)IMAGE_ICON,
(LPARAM)prevIcon);
- SendMessage(GetDlgItem(hDlg, IDC_COPY), BM_SETIMAGE, (WPARAM)IMAGE_ICON,
(LPARAM)copyIcon);
+ HANDLE nextIcon = LoadImageW(hInst, MAKEINTRESOURCEW(IDI_NEXT), IMAGE_ICON, 16, 16,
LR_DEFAULTCOLOR);
+ HANDLE prevIcon = LoadImageW(hInst, MAKEINTRESOURCEW(IDI_PREV), IMAGE_ICON, 16, 16,
LR_DEFAULTCOLOR);
+ HANDLE copyIcon = LoadImageW(hInst, MAKEINTRESOURCEW(IDI_COPY), IMAGE_ICON, 16, 16,
LR_DEFAULTCOLOR);
+
+ SendMessageW(GetDlgItem(hDlg, IDC_NEXT), BM_SETIMAGE, (WPARAM)IMAGE_ICON,
(LPARAM)nextIcon);
+ SendMessageW(GetDlgItem(hDlg, IDC_PREVIOUS), BM_SETIMAGE, (WPARAM)IMAGE_ICON,
(LPARAM)prevIcon);
+ SendMessageW(GetDlgItem(hDlg, IDC_COPY), BM_SETIMAGE, (WPARAM)IMAGE_ICON,
(LPARAM)copyIcon);
}
// Message handler for event details box.
@@ -1533,11 +1536,13 @@
switch (message)
{
case WM_INITDIALOG:
+ {
InitDetailsDlg(hDlg);
// Show event info on dialog box
DisplayEvent(hDlg);
return (INT_PTR)TRUE;
+ }
case WM_COMMAND:
switch (LOWORD(wParam))
@@ -1548,18 +1553,22 @@
return (INT_PTR)TRUE;
case IDC_PREVIOUS:
- SendMessage(hwndListView, WM_KEYDOWN, VK_UP, 0);
+ {
+ SendMessageW(hwndListView, WM_KEYDOWN, VK_UP, 0);
// Show event info on dialog box
DisplayEvent(hDlg);
return (INT_PTR)TRUE;
+ }
case IDC_NEXT:
- SendMessage(hwndListView, WM_KEYDOWN, VK_DOWN, 0);
+ {
+ SendMessageW(hwndListView, WM_KEYDOWN, VK_DOWN, 0);
// Show event info on dialog box
DisplayEvent(hDlg);
return (INT_PTR)TRUE;
+ }
case IDC_COPY:
CopyEventEntry(hDlg);
@@ -1573,9 +1582,9 @@
case IDHELP:
MessageBoxW(hDlg,
- L"Help not implemented yet!",
- L"Event Log",
- MB_OK | MB_ICONINFORMATION);
+ L"Help not implemented yet!",
+ L"Event Log",
+ MB_OK | MB_ICONINFORMATION);
return (INT_PTR)TRUE;
default: