| 8 | #include "IoTimerTable.h" |
| 9 | |
| 10 | class CKernelView : |
| 11 | public CWindowImpl<CKernelView> { |
| 12 | public: |
| 13 | DECLARE_WND_CLASS(nullptr); |
| 14 | |
| 15 | const UINT TabId = 0x1236; |
| 16 | CKernelView(IMainFrame* pFrame) :m_TabCtrl(this),m_pFrame(pFrame) { |
| 17 | } |
| 18 | |
| 19 | BEGIN_MSG_MAP(CKernelView) |
| 20 | MESSAGE_HANDLER(WM_CREATE, OnCreate) |
| 21 | MESSAGE_HANDLER(WM_SIZE, OnSize) |
| 22 | NOTIFY_HANDLER(TabId, TCN_SELCHANGE, OnTcnSelChange) |
| 23 | if(m_KernelPoolView!=nullptr) |
| 24 | CHAIN_MSG_MAP_MEMBER((*m_KernelPoolView)) |
| 25 | if(m_BigPoolView!=nullptr) |
| 26 | CHAIN_MSG_MAP_MEMBER((*m_BigPoolView)) |
| 27 | REFLECT_NOTIFICATIONS() |
| 28 | END_MSG_MAP() |
| 29 | |
| 30 | LRESULT OnCreate(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/); |
| 31 | LRESULT OnSize(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/); |
| 32 | LRESULT OnTcnSelChange(int, LPNMHDR hdr, BOOL&); |
| 33 | |
| 34 | IView* GetCurView(); |
| 35 | |
| 36 | enum class TabColumn : int { |
| 37 | PiDDBCacheTable,UnloadedDriverTable,KernelPoolTable,BigPoolTable,DpcTimer,IoTimer, |
| 38 | }; |
| 39 | |
| 40 | void InitPiDDBCacheTable(); |
| 41 | void InitUnloadedDriverTable(); |
| 42 | void InitDpcTimerTable(); |
| 43 | void InitIoTimerTable(); |
| 44 | void InitMiniFilterTable(); |
| 45 | |
| 46 | private: |
| 47 | // ��̬���������Ŀؼ� |
| 48 | CContainedWindowT<CTabCtrl> m_TabCtrl; |
| 49 | |
| 50 | CPiDDBCacheTable* m_PiDDBCacheTable{ nullptr }; |
| 51 | CUnloadedDriverTable* m_UnloadedDriverTable{nullptr}; |
| 52 | CKernelPoolView* m_KernelPoolView{ nullptr }; |
| 53 | CBigPoolView* m_BigPoolView{ nullptr }; |
| 54 | CDpcTimerTable* m_DpcTimerTable{ nullptr }; |
| 55 | CIoTimerTable* m_IoTimerTable{ nullptr }; |
| 56 | |
| 57 | IMainFrame* m_pFrame; |
| 58 | HWND m_hwndArray[16]; |
| 59 | int _index = 0; |
| 60 | }; |
nothing calls this directly
no outgoing calls
no test coverage detected