Leaked source code of windows server 2003
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.

44 lines
1.4 KiB

  1. //(C) COPYRIGHT MICROSOFT CORP., 1998-1999
  2. #ifndef _CLASSES_H_
  3. #define _CLASSES_H_
  4. /*****************************************************************************
  5. class CShellExt
  6. Implement our regular shell extensions.
  7. ******************************************************************************/
  8. class ATL_NO_VTABLE CShellExt :
  9. public CComObjectRootEx<CComSingleThreadModel>,
  10. public CComCoClass<CShellExt, &CLSID_ScannerShellExt>,
  11. public IShellExtInit, public IContextMenu
  12. {
  13. private:
  14. UINT_PTR m_ScanButtonidCmd;
  15. UINT_PTR m_CopyButtonidCmd;
  16. UINT_PTR m_FaxButtonidCmd;
  17. CComPtr<IWiaItem> m_pItem;
  18. public:
  19. DECLARE_REGISTRY_RESOURCEID(IDR_VIEWREG)
  20. BEGIN_COM_MAP(CShellExt)
  21. COM_INTERFACE_ENTRY(IShellExtInit)
  22. COM_INTERFACE_ENTRY(IContextMenu)
  23. END_COM_MAP()
  24. // IShellExtInit
  25. STDMETHODIMP Initialize (LPCITEMIDLIST pidlFolder,LPDATAOBJECT lpdobj,HKEY hkeyProgID);
  26. // IContextMenu
  27. STDMETHODIMP QueryContextMenu (HMENU hmenu,UINT indexMenu,UINT idCmdFirst,UINT idCmdLast,UINT uFlags);
  28. STDMETHODIMP InvokeCommand (LPCMINVOKECOMMANDINFO lpici);
  29. STDMETHODIMP GetCommandString (UINT_PTR idCmd, UINT uType,UINT* pwReserved,LPSTR pszName,UINT cchMax);
  30. ~CShellExt ();
  31. CShellExt ();
  32. };
  33. #endif