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.

78 lines
3.0 KiB

  1. //==============================================================;
  2. //
  3. // This source code is only intended as a supplement to
  4. // existing Microsoft documentation.
  5. //
  6. // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
  7. // KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
  8. // IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
  9. // PURPOSE.
  10. //
  11. // Copyright (C) 1999 Microsoft Corporation. All Rights Reserved.
  12. //==============================================================;
  13. #ifndef _BRANCHES_H
  14. #define _BRANCHES_H
  15. #include <mmc.h>
  16. #include <crtdbg.h>
  17. #include "globals.h"
  18. #include "resource.h"
  19. #include "LocalRes.h"
  20. class CDelegationBase {
  21. public:
  22. CDelegationBase();
  23. virtual ~CDelegationBase();
  24. virtual const _TCHAR *GetDisplayName(int nCol = 0) = 0;
  25. virtual const _TCHAR *GetMachineName() {_ASSERT(FALSE); return NULL;}
  26. virtual const GUID & getNodeType() { _ASSERT(FALSE); return IID_NULL; }
  27. virtual const LPARAM GetCookie() { return reinterpret_cast<LPARAM>(this); }
  28. virtual const int GetBitmapIndex() = 0;
  29. virtual const HANDLE GetHandle() { return m_handle; }
  30. virtual SetHandle(HANDLE handle) { m_handle = handle; }
  31. virtual HRESULT GetResultViewType(LPOLESTR *ppViewType, long *pViewOptions) { return S_FALSE; }
  32. public:
  33. // virtual functions go here (for MMCN_*)
  34. virtual HRESULT OnExpand(IConsoleNameSpace2 *pConsoleNameSpace2, IConsole *pConsole, HSCOPEITEM parent) { return S_FALSE; }
  35. virtual HRESULT OnShow(IConsole *pConsole, BOOL bShow, HSCOPEITEM scopeitem) { return S_FALSE; }
  36. virtual HRESULT OnAddImages(IImageList *pImageList, HSCOPEITEM hsi);
  37. virtual HRESULT OnRename(LPOLESTR pszNewName) { return S_FALSE; }
  38. virtual HRESULT OnSelect(IConsole *pConsole, BOOL bScope, BOOL bSelect) { return S_FALSE; }
  39. virtual HRESULT OnRemoveChildren() { return S_FALSE; }
  40. virtual HRESULT CreatePropertyPages(IPropertySheetCallback *lpProvider,
  41. LONG_PTR handle) { return S_FALSE; }
  42. virtual HRESULT HasPropertySheets() { return S_FALSE; }
  43. virtual HRESULT GetWatermarks(HBITMAP *lphWatermark,
  44. HBITMAP *lphHeader,
  45. HPALETTE *lphPalette,
  46. BOOL *bStretch) { return S_FALSE; }
  47. virtual HRESULT OnAddMenuItems(IContextMenuCallback *pContextMenuCallback, long *pInsertionsAllowed) { return S_FALSE; }
  48. virtual HRESULT OnMenuCommand(IConsole *pConsole, IConsoleNameSpace2 *pConsoleNameSpace2, long lCommandID, IDataObject *piDataObject) { return S_FALSE; }
  49. public:
  50. static HBITMAP m_pBMapSm;
  51. static HBITMAP m_pBMapLg;
  52. protected:
  53. static void LoadBitmaps() {
  54. m_pBMapSm = LoadBitmap(g_hinst, MAKEINTRESOURCE(IDR_SMICONS));
  55. m_pBMapLg = LoadBitmap(g_hinst, MAKEINTRESOURCE(IDR_LGICONS));
  56. }
  57. BOOL bExpanded;
  58. HANDLE m_handle;
  59. private:
  60. // {2974380B-4C4B-11d2-89D8-000021473128}
  61. static const GUID thisGuid;
  62. };
  63. #endif // _BRANCHES_H