Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

56 lines
1.3 KiB

  1. // MmcMsgHook.cpp: implementation of the CMmcMsgHook class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #include "stdafx.h"
  5. #include "MmcMsgHook.h"
  6. #ifdef _DEBUG
  7. #undef THIS_FILE
  8. static char THIS_FILE[]=__FILE__;
  9. #define new DEBUG_NEW
  10. #endif
  11. IMPLEMENT_DYNCREATE(CMmcMsgHook,CMsgHook)
  12. //////////////////////////////////////////////////////////////////////
  13. // Construction/Destruction
  14. //////////////////////////////////////////////////////////////////////
  15. CMmcMsgHook::CMmcMsgHook()
  16. {
  17. m_pScopeItem = NULL;
  18. }
  19. CMmcMsgHook::~CMmcMsgHook()
  20. {
  21. m_pScopeItem = NULL;
  22. }
  23. //////////////////////////////////////////////////////////////////////
  24. // Hook Operations
  25. //////////////////////////////////////////////////////////////////////
  26. BOOL CMmcMsgHook::Init(CScopePaneItem* pItem, HWND hMainMMCWnd)
  27. {
  28. m_pScopeItem = pItem;
  29. CWnd* pWnd = CWnd::FromHandle(hMainMMCWnd);
  30. return HookWindow(pWnd);
  31. }
  32. //////////////////////////////////////////////////////////////////////
  33. // Implementation Attributes
  34. //////////////////////////////////////////////////////////////////////
  35. LRESULT CMmcMsgHook::WindowProc(UINT msg, WPARAM wp, LPARAM lp)
  36. {
  37. if( GfxCheckObjPtr(m_pScopeItem,CScopePaneItem) )
  38. {
  39. if( msg == WM_SETTINGCHANGE )
  40. {
  41. m_pScopeItem->MsgProc(msg,wp,lp);
  42. }
  43. }
  44. return CMsgHook::WindowProc(msg, wp, lp);
  45. }