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.

64 lines
2.0 KiB

  1. //+-------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. //
  5. // Copyright (C) Microsoft Corporation, 1997 - 1999
  6. //
  7. // File: security.h
  8. //
  9. //--------------------------------------------------------------------------
  10. #ifndef __security_h
  11. #define __security_h
  12. /*-----------------------------------------------------------------------------
  13. / CDsSecurityClassFactory
  14. /----------------------------------------------------------------------------*/
  15. class CDsSecurityClassFactory : public IClassFactory, CUnknown
  16. {
  17. public:
  18. // IUnkown
  19. STDMETHODIMP_(ULONG) AddRef();
  20. STDMETHODIMP_(ULONG) Release();
  21. STDMETHODIMP QueryInterface(REFIID riid, LPVOID* ppvObject);
  22. // IClassFactory
  23. STDMETHODIMP CreateInstance(IUnknown* pOuter, REFIID riid, LPVOID* ppvObject);
  24. STDMETHODIMP LockServer(BOOL fLock);
  25. };
  26. /*-----------------------------------------------------------------------------
  27. / CDsSecurity
  28. /----------------------------------------------------------------------------*/
  29. class CDsSecurity : public IShellExtInit, IShellPropSheetExt, IContextMenu, CUnknown
  30. {
  31. private:
  32. LPSECURITYINFO m_pSI;
  33. public:
  34. virtual ~CDsSecurity();
  35. // IUnknown
  36. STDMETHOD(QueryInterface)(REFIID riid, LPVOID* ppvObject);
  37. STDMETHOD_(ULONG, AddRef)();
  38. STDMETHOD_(ULONG, Release)();
  39. // IShellExtInit
  40. STDMETHODIMP Initialize(LPCITEMIDLIST pIDFolder, LPDATAOBJECT pDataObj, HKEY hKeyID);
  41. // IShellPropSheetExt methods
  42. STDMETHODIMP AddPages(LPFNADDPROPSHEETPAGE, LPARAM);
  43. STDMETHODIMP ReplacePage(UINT, LPFNADDPROPSHEETPAGE, LPARAM);
  44. // IContextMenu
  45. STDMETHODIMP QueryContextMenu(HMENU hShellMenu, UINT indexMenu, UINT idCmdFirst, UINT idCmdLast, UINT uFlags);
  46. STDMETHODIMP InvokeCommand( LPCMINVOKECOMMANDINFO lpcmi);
  47. STDMETHODIMP GetCommandString( UINT_PTR idCmd, UINT uFlags, UINT FAR* reserved, LPSTR pszName, UINT ccMax);
  48. };
  49. #endif // __security_h