50 lines
1.3 KiB
C++
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_
|