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.

65 lines
2.4 KiB

  1. /*
  2. * SnapinVirtualResults.hxx
  3. *
  4. *
  5. * Copyright (c) 1998 Microsoft Corporation
  6. *
  7. * PURPOSE: Defines the CSnapinItemVirtualResult class.
  8. *
  9. * OWNER: mcoburn
  10. */
  11. #ifndef _SNAPINVIRTUALRESULTS_HXX
  12. #define _SNAPINVIRTUALRESULTS_HXX
  13. /* class CSnapinItemVirtualResult
  14. *
  15. * PURPOSE: Implements a snapin item that manages a results pane of
  16. * virtual items
  17. *
  18. * USAGE: Same as CBaseSnapinItem except for the following:
  19. *
  20. * You MUST override and provide implementations for the following
  21. * functions:
  22. *
  23. * virtual SC ScGetField(INT nIndex, DAT dat, STR * pstrField, IResultData *ipResultData);
  24. * virtual IconID Iconid(INT nIndex);
  25. * virtual SC ScGetRowCount(INT *pnRowCount);
  26. * virtual CBaseSnapinItem * PNewSnapinItem();
  27. *
  28. * You SHOULD think about providing functions for:
  29. *
  30. * virtual SC ScSortItems(INT nColumn, DWORD dwSortOptions, long lUserParam);
  31. * virtual SC ScCacheHint(INT nStartIndex, INT nEndIndex);
  32. * virtual SC ScFindItem(LPRESULTFINDINFO pFindinfo, INT * pnFoundIndex);
  33. * virtual SC ScEmptyCache();
  34. *
  35. * virtual SC ScInitItemForRow(INT nRowIndex, CSnapinItem * pitem);
  36. */
  37. class CSnapinItemVirtualResult : public CBaseSnapinItem
  38. {
  39. public:
  40. typedef CBaseSnapinItem super;
  41. CSnapinItemVirtualResult() {}
  42. virtual ~CSnapinItemVirtualResult() {}
  43. virtual SC ScGetRowCount(INT *pnRowCount) = 0;
  44. virtual CBaseSnapinItem * PNewSnapinItem() = 0;
  45. SC ScSetRowCount(IResultData *ipResultData);
  46. virtual BOOL FVirtualResultsPane() { return TRUE; }
  47. virtual BOOL FIsContainer() { return TRUE; }
  48. virtual SC ScEmptyCache() { return S_OK; }
  49. virtual SC ScVirtualQueryDataObject(long cookie, DATA_OBJECT_TYPES type, LPDATAOBJECT* ppDataObject);
  50. virtual SC ScInitializeResultView(CComponent *pComponent);
  51. virtual SC ScInitItemForRow(INT nRowIndex, CBaseSnapinItem * pitem) { return S_OK; }
  52. };
  53. #endif // _SNAPINVIRTUALRESULTS_HXX