Leaked source code of windows server 2003
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.

62 lines
1.7 KiB

  1. // PropPageExt.h : Declaration of the CPropPageExt
  2. #ifndef __PROPPAGEEXT_H_
  3. #define __PROPPAGEEXT_H_
  4. #include <mmc.h>
  5. #include "DSAdminExt.h"
  6. #include "DeleBase.h"
  7. #include <tchar.h>
  8. #include <crtdbg.h>
  9. #include "resource.h"
  10. class ATL_NO_VTABLE CPropPageExt :
  11. public CComObjectRootEx<CComSingleThreadModel>,
  12. public CComCoClass<CPropPageExt, &CLSID_PropPageExt>,
  13. public IPropPageExt,
  14. public IExtendPropertySheet
  15. {
  16. BEGIN_COM_MAP(CPropPageExt)
  17. COM_INTERFACE_ENTRY(IExtendPropertySheet)
  18. END_COM_MAP()
  19. public:
  20. CPropPageExt() : m_ppHandle(NULL), m_ObjPath(NULL), m_hPropPageWnd(NULL),
  21. m_hDlgModeless(NULL)
  22. {
  23. }
  24. DECLARE_REGISTRY_RESOURCEID(IDR_PROPPAGEEXT)
  25. DECLARE_NOT_AGGREGATABLE(CPropPageExt)
  26. DECLARE_PROTECT_FINAL_CONSTRUCT()
  27. ///////////////////////////////
  28. // Interface IExtendPropertySheet
  29. ///////////////////////////////
  30. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreatePropertyPages(
  31. /* [in] */ LPPROPERTYSHEETCALLBACK lpProvider,
  32. /* [in] */ LONG_PTR handle,
  33. /* [in] */ LPDATAOBJECT lpIDataObject);
  34. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE QueryPagesFor(
  35. /* [in] */ LPDATAOBJECT lpDataObject);
  36. private:
  37. LONG_PTR m_ppHandle;
  38. PWSTR m_ObjPath;
  39. HWND m_hPropPageWnd;
  40. HWND m_hDlgModeless;
  41. static BOOL CALLBACK DSExtensionPageDlgProc(HWND hDlg,
  42. UINT uMessage,
  43. WPARAM wParam,
  44. LPARAM lParam);
  45. static BOOL CALLBACK AdvDialogProc(HWND hDlg,
  46. UINT uMessage,
  47. WPARAM wParam,
  48. LPARAM lParam);
  49. };
  50. #endif //__PROPPAGEEXT_H_