65 lines
1.8 KiB
C++
65 lines
1.8 KiB
C++
/**********************************************************************
|
|
* ExtInit.h - Definition for the CShellExtInit, our implementation for
|
|
* IShellExtInit.
|
|
*
|
|
**********************************************************************/
|
|
|
|
#if !defined(__EXTINIT_H__)
|
|
#define __EXTINIT_H__
|
|
|
|
class CShellExtInit : public IShellExtInit, public IContextMenu,
|
|
public IShellPropSheetExt
|
|
{
|
|
public:
|
|
CShellExtInit();
|
|
~CShellExtInit();
|
|
BOOL bInit();
|
|
|
|
// *** IUnknown methods ***
|
|
|
|
STDMETHODIMP QueryInterface(REFIID riid, LPVOID FAR* ppvObj);
|
|
STDMETHODIMP_(ULONG) AddRef(void);
|
|
STDMETHODIMP_(ULONG) Release(void);
|
|
|
|
// *** IShellExtInit methods ***
|
|
|
|
STDMETHODIMP Initialize( LPCITEMIDLIST pidlFolder,
|
|
LPDATAOBJECT lpdobj,
|
|
HKEY hkeyProgID);
|
|
|
|
// ** IContextMenu methods ***
|
|
|
|
STDMETHODIMP QueryContextMenu( HMENU hmenu,
|
|
UINT indexMenu,
|
|
UINT idCmdFirst,
|
|
UINT idCmdLast,
|
|
UINT uFlags);
|
|
|
|
STDMETHODIMP InvokeCommand(LPCMINVOKECOMMANDINFO lpici);
|
|
|
|
STDMETHODIMP GetCommandString( UINT_PTR idCmd,
|
|
UINT uFlags,
|
|
UINT *pwReserved,
|
|
LPSTR pszName,
|
|
UINT cchMax);
|
|
|
|
// ***IShellPropSheet Ext ***
|
|
//
|
|
STDMETHODIMP AddPages(LPFNADDPROPSHEETPAGE lpfnAddPage, LPARAM lParam);
|
|
STDMETHODIMP ReplacePage(UINT uPageID, LPFNADDPROPSHEETPAGE lpfnReplaceWith, LPARAM lParam);
|
|
|
|
|
|
private:
|
|
// Data for IUnknown
|
|
//
|
|
ULONG m_cRef;
|
|
|
|
// Data for IShellExtInit
|
|
//
|
|
LPDATAOBJECT m_poData;
|
|
};
|
|
|
|
|
|
#endif // __EXTINIT_H__
|
|
|