| 388 | } |
| 389 | |
| 390 | LRESULT CEtwView::OnCreate(UINT, WPARAM, LPARAM, BOOL&) { |
| 391 | m_hWndClient = m_List.Create(*this, rcDefault, nullptr, |
| 392 | WS_VISIBLE | WS_CHILD | WS_CLIPCHILDREN | WS_CLIPSIBLINGS | |
| 393 | LVS_REPORT | LVS_SHOWSELALWAYS | LVS_OWNERDATA | LVS_SINGLESEL | LVS_SHAREIMAGELISTS); |
| 394 | m_List.SetExtendedListViewStyle(LVS_EX_FULLROWSELECT | LVS_EX_INFOTIP | LVS_EX_LABELTIP | |
| 395 | LVS_EX_DOUBLEBUFFER); |
| 396 | |
| 397 | auto processes = KernelEventCategory::GetCategory(L"Process"); |
| 398 | ATLASSERT(processes); |
| 399 | |
| 400 | // init event |
| 401 | EventConfigCategory cat; |
| 402 | cat.Name = processes->Name; |
| 403 | m_EventsConfig.AddCategory(cat); |
| 404 | |
| 405 | // init filters |
| 406 | FilterDescription desc; |
| 407 | desc.Name = L"Process Id"; |
| 408 | desc.Action = FilterAction::Exclude; |
| 409 | desc.Parameters = std::to_wstring(::GetCurrentProcessId()); |
| 410 | m_FilterConfig.AddFilter(desc); |
| 411 | |
| 412 | if (s_Images == nullptr) { |
| 413 | s_Images.Create(16, 16, ILC_COLOR32, 8, 8); |
| 414 | struct { |
| 415 | int icon; |
| 416 | PCWSTR type; |
| 417 | }icons[] = { |
| 418 | {IDI_GENERIC,nullptr}, |
| 419 | { IDI_HEAP2, L"PageFault/VirtualAlloc" }, |
| 420 | { IDI_HEAP2, L"Virtual Memory" }, |
| 421 | { IDI_GEAR, L"Process" }, |
| 422 | { IDI_PROCESS_NEW, L"Process/Start" }, |
| 423 | { IDI_PROCESS_DELETE, L"Process/Terminate" }, |
| 424 | { IDI_PROCESS_DELETE, L"Process/End" }, |
| 425 | { IDI_THREAD, L"Thread" }, |
| 426 | { IDI_THREAD_NEW, L"Thread/Start" }, |
| 427 | { IDI_THREAD_DELETE, L"Thread/End" }, |
| 428 | { IDI_DLL, L"Image" }, |
| 429 | { IDI_DLL_LOAD, L"Image/Load" }, |
| 430 | { IDI_DLL_UNLOAD, L"Image/UnLoad" }, |
| 431 | { IDI_NETWORK, L"TCP" }, |
| 432 | { IDI_NETWORK, L"UDP" }, |
| 433 | { IDI_NETWORK, L"TcpIp" }, |
| 434 | { IDI_NETWORK, L"UdpIp" }, |
| 435 | { IDI_REGISTRY, L"Registry" }, |
| 436 | { IDI_FILE, L"FileIo" }, |
| 437 | { IDI_FILE, L"File" }, |
| 438 | { IDI_HANDLE, L"Objects" }, |
| 439 | { IDI_HANDLE, L"Object" }, |
| 440 | { IDI_OBJECT, L"Object/CreateHandle" }, |
| 441 | { IDI_OBJECT, L"Object/CloseHandle" }, |
| 442 | { IDI_OBJECT, L"Handles" }, |
| 443 | { IDI_DISK, L"DiskIo" }, |
| 444 | { IDI_DISK, L"Disk I/O" }, |
| 445 | { IDI_MEMORY, L"PageFault" }, |
| 446 | { IDI_MEMORY, L"Page Fault" }, |
| 447 | { IDI_HEAP, L"Pool" }, |
nothing calls this directly
no test coverage detected