windows-nt/Source/XPSP1/NT/shell/cpls/plus/old_src/propsext.h
2020-09-26 16:20:57 +08:00

50 lines
1.3 KiB
C++

//---------------------------------------------------------------------------
//
// File: PROPSEXT.CPP
//
// Defines the CPropSheetExt object.
//
//---------------------------------------------------------------------------
#ifndef _PROPSEXT_H_
#define _PROPSEXT_H_
#include <windows.h>
#include <prsht.h>
#include <shlobj.h>
extern BOOL g_RunningOnNT;
//Type for an object-destroyed callback
typedef void (FAR PASCAL *LPFNDESTROYED)(void);
class CPropSheetExt : public IShellPropSheetExt
{
private:
ULONG m_cRef;
LPUNKNOWN m_pUnkOuter; //Controlling unknown
LPFNDESTROYED m_pfnDestroy; //Function closure call
public:
CPropSheetExt( LPUNKNOWN pUnkOuter, LPFNDESTROYED pfnDestroy );
~CPropSheetExt(void);
// IUnknown members
STDMETHODIMP QueryInterface(REFIID, LPVOID*);
STDMETHODIMP_(ULONG) AddRef(void);
STDMETHODIMP_(ULONG) Release(void);
// *** IShellPropSheetExt methods ***
STDMETHODIMP AddPages( LPFNADDPROPSHEETPAGE lpfnAddPage, LPARAM lParam );
STDMETHODIMP ReplacePage( UINT uPageID, LPFNADDPROPSHEETPAGE lpfnReplaceWith, LPARAM lParam );
};
#ifndef ARRAYSIZE
#define ARRAYSIZE(x) (sizeof(x)/sizeof(x[0]))
#endif
#endif //_PROPSEXT_H_