| 7 | |
| 8 | |
| 9 | class CKernelHookView: |
| 10 | public CWindowImpl<CKernelHookView>{ |
| 11 | public: |
| 12 | DECLARE_WND_CLASS(nullptr); |
| 13 | |
| 14 | const UINT TabId = 1235; |
| 15 | CKernelHookView() :m_TabCtrl(this) { |
| 16 | } |
| 17 | |
| 18 | BEGIN_MSG_MAP(CKernelHookView) |
| 19 | MESSAGE_HANDLER(WM_CREATE, OnCreate) |
| 20 | MESSAGE_HANDLER(WM_SIZE, OnSize) |
| 21 | NOTIFY_HANDLER(TabId,TCN_SELCHANGE,OnTcnSelChange) |
| 22 | END_MSG_MAP() |
| 23 | |
| 24 | LRESULT OnCreate(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/); |
| 25 | LRESULT OnSize(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/); |
| 26 | LRESULT OnTcnSelChange(int, LPNMHDR hdr, BOOL&); |
| 27 | |
| 28 | void InitSSDTHookTable(); |
| 29 | void InitShadowSSDTHookTable(); |
| 30 | void InitKernelNotifyTable(); |
| 31 | void InitMiniFilterTable(); |
| 32 | void InitWFPFilterTable(); |
| 33 | |
| 34 | enum class TabColumn : int { |
| 35 | SSDT,ShadowSSDT,ObjectCallback,MiniFilter,WFPFilter |
| 36 | }; |
| 37 | private: |
| 38 | // ��̬���������Ŀؼ� |
| 39 | CContainedWindowT<CTabCtrl> m_TabCtrl; |
| 40 | |
| 41 | CSSDTHookTable* m_SSDTHookTable{ nullptr }; |
| 42 | CShadowSSDTHookTable* m_ShadowSSDTHookTable{ nullptr }; |
| 43 | CKernelNotifyTable* m_KernelNotifyTable{ nullptr }; |
| 44 | CMiniFilterTable* m_MiniFilterTable{ nullptr }; |
| 45 | CWFPFilterTable* m_WFPFilterTable{ nullptr }; |
| 46 | HWND m_hwndArray[16]; |
| 47 | int _index = 0; |
| 48 | }; |
nothing calls this directly
no outgoing calls
no test coverage detected