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.

42 lines
1.1 KiB

  1. //---------------------------------------------------------------------------
  2. //
  3. // File: PROPSEXT.CPP
  4. //
  5. // Defines the CPropSheetExt object.
  6. //
  7. //---------------------------------------------------------------------------
  8. #ifndef _PROPSEXT_H_
  9. #define _PROPSEXT_H_
  10. #include <windows.h>
  11. #include <prsht.h>
  12. #include <shlobj.h>
  13. //Type for an object-destroyed callback
  14. typedef void (FAR PASCAL *LPFNDESTROYED)(void);
  15. class CPropSheetExt : public IShellPropSheetExt
  16. {
  17. private:
  18. ULONG m_cRef;
  19. LPUNKNOWN m_pUnkOuter; //Controlling unknown
  20. LPFNDESTROYED m_pfnDestroy; //Function closure call
  21. public:
  22. CPropSheetExt( LPUNKNOWN pUnkOuter, LPFNDESTROYED pfnDestroy );
  23. ~CPropSheetExt(void);
  24. // IUnknown members
  25. STDMETHODIMP QueryInterface(REFIID, LPVOID*);
  26. STDMETHODIMP_(ULONG) AddRef(void);
  27. STDMETHODIMP_(ULONG) Release(void);
  28. // *** IShellPropSheetExt methods ***
  29. STDMETHODIMP AddPages( LPFNADDPROPSHEETPAGE lpfnAddPage, LPARAM lParam );
  30. STDMETHODIMP ReplacePage( UINT uPageID, LPFNADDPROPSHEETPAGE lpfnReplaceWith, LPARAM lParam );
  31. };
  32. #endif //_PROPSEXT_H_