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.

64 lines
1.8 KiB

  1. /**********************************************************************
  2. * ExtInit.h - Definition for the CShellExtInit, our implementation for
  3. * IShellExtInit.
  4. *
  5. **********************************************************************/
  6. #if !defined(__EXTINIT_H__)
  7. #define __EXTINIT_H__
  8. class CShellExtInit : public IShellExtInit, public IContextMenu,
  9. public IShellPropSheetExt
  10. {
  11. public:
  12. CShellExtInit();
  13. ~CShellExtInit();
  14. BOOL bInit();
  15. // *** IUnknown methods ***
  16. STDMETHODIMP QueryInterface(REFIID riid, LPVOID FAR* ppvObj);
  17. STDMETHODIMP_(ULONG) AddRef(void);
  18. STDMETHODIMP_(ULONG) Release(void);
  19. // *** IShellExtInit methods ***
  20. STDMETHODIMP Initialize( LPCITEMIDLIST pidlFolder,
  21. LPDATAOBJECT lpdobj,
  22. HKEY hkeyProgID);
  23. // ** IContextMenu methods ***
  24. STDMETHODIMP QueryContextMenu( HMENU hmenu,
  25. UINT indexMenu,
  26. UINT idCmdFirst,
  27. UINT idCmdLast,
  28. UINT uFlags);
  29. STDMETHODIMP InvokeCommand(LPCMINVOKECOMMANDINFO lpici);
  30. STDMETHODIMP GetCommandString( UINT_PTR idCmd,
  31. UINT uFlags,
  32. UINT *pwReserved,
  33. LPSTR pszName,
  34. UINT cchMax);
  35. // ***IShellPropSheet Ext ***
  36. //
  37. STDMETHODIMP AddPages(LPFNADDPROPSHEETPAGE lpfnAddPage, LPARAM lParam);
  38. STDMETHODIMP ReplacePage(UINT uPageID, LPFNADDPROPSHEETPAGE lpfnReplaceWith, LPARAM lParam);
  39. private:
  40. // Data for IUnknown
  41. //
  42. ULONG m_cRef;
  43. // Data for IShellExtInit
  44. //
  45. LPDATAOBJECT m_poData;
  46. };
  47. #endif // __EXTINIT_H__