84 lines
2.4 KiB
C++
84 lines
2.4 KiB
C++
//---------------------------------------------------------------------------
|
|
//
|
|
// File: propsext.h
|
|
//
|
|
// General definition of OLE Entry points, CClassFactory and CPropSheetExt
|
|
//
|
|
// Common Code for all display property sheet extension
|
|
//
|
|
// Copyright (c) Microsoft Corp. 1992-1998 All Rights Reserved
|
|
//
|
|
//---------------------------------------------------------------------------
|
|
|
|
#ifndef _COMMONPROPEXT_H
|
|
#define _COMMONPROPEXT_H
|
|
|
|
|
|
extern BOOL g_RunningOnNT;
|
|
extern HINSTANCE g_hInst;
|
|
extern LPDATAOBJECT g_lpdoTarget;
|
|
|
|
// OLE-Registry magic number
|
|
extern GUID g_CLSID_CplExt;
|
|
|
|
// Someone made a spelling mistake
|
|
#define PropertySheeDlgProc PropertySheetDlgProc
|
|
|
|
INT_PTR CALLBACK PropertySheetDlgProc(HWND hDlg, UINT uMessage, WPARAM wParam, LPARAM lParam);
|
|
UINT CALLBACK PropertySheetCallback(HWND hwnd, UINT uMsg, LPPROPSHEETPAGE ppsp);
|
|
|
|
|
|
//Type for an object-destroyed callback
|
|
typedef void (FAR PASCAL *LPFNDESTROYED)(void);
|
|
|
|
|
|
class CClassFactory : public IClassFactory
|
|
{
|
|
protected:
|
|
ULONG m_cRef;
|
|
|
|
public:
|
|
CClassFactory();
|
|
~CClassFactory();
|
|
|
|
//IUnknown members
|
|
STDMETHODIMP QueryInterface( REFIID, LPVOID* );
|
|
STDMETHODIMP_(ULONG) AddRef();
|
|
STDMETHODIMP_(ULONG) Release();
|
|
|
|
//IClassFactory members
|
|
STDMETHODIMP CreateInstance( LPUNKNOWN, REFIID, LPVOID* );
|
|
STDMETHODIMP LockServer( BOOL );
|
|
};
|
|
|
|
|
|
class CPropSheetExt : public IShellPropSheetExt, IShellExtInit
|
|
{
|
|
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);
|
|
|
|
// IShellExtInit methods
|
|
STDMETHODIMP Initialize(LPCITEMIDLIST pIDFolder, LPDATAOBJECT pDataObj,
|
|
HKEY hKeyID);
|
|
|
|
//IShellPropSheetExt methods ***
|
|
STDMETHODIMP AddPages( LPFNADDPROPSHEETPAGE lpfnAddPage, LPARAM lParam );
|
|
STDMETHODIMP ReplacePage(UINT uPageID, LPFNADDPROPSHEETPAGE lpfnReplaceWith,
|
|
LPARAM lParam);
|
|
};
|
|
|
|
|
|
|
|
#endif // _COMMONPROPEXT_H
|