/* * SnapinVirtualResults.hxx * * * Copyright (c) 1998 Microsoft Corporation * * PURPOSE: Defines the CSnapinItemVirtualResult class. * * OWNER: mcoburn */ #ifndef _SNAPINVIRTUALRESULTS_HXX #define _SNAPINVIRTUALRESULTS_HXX /* class CSnapinItemVirtualResult * * PURPOSE: Implements a snapin item that manages a results pane of * virtual items * * USAGE: Same as CBaseSnapinItem except for the following: * * You MUST override and provide implementations for the following * functions: * * virtual SC ScGetField(INT nIndex, DAT dat, STR * pstrField, IResultData *ipResultData); * virtual IconID Iconid(INT nIndex); * virtual SC ScGetRowCount(INT *pnRowCount); * virtual CBaseSnapinItem * PNewSnapinItem(); * * You SHOULD think about providing functions for: * * virtual SC ScSortItems(INT nColumn, DWORD dwSortOptions, long lUserParam); * virtual SC ScCacheHint(INT nStartIndex, INT nEndIndex); * virtual SC ScFindItem(LPRESULTFINDINFO pFindinfo, INT * pnFoundIndex); * virtual SC ScEmptyCache(); * * virtual SC ScInitItemForRow(INT nRowIndex, CSnapinItem * pitem); */ class CSnapinItemVirtualResult : public CBaseSnapinItem { public: typedef CBaseSnapinItem super; CSnapinItemVirtualResult() {} virtual ~CSnapinItemVirtualResult() {} virtual SC ScGetRowCount(INT *pnRowCount) = 0; virtual CBaseSnapinItem * PNewSnapinItem() = 0; SC ScSetRowCount(IResultData *ipResultData); virtual BOOL FVirtualResultsPane() { return TRUE; } virtual BOOL FIsContainer() { return TRUE; } virtual SC ScEmptyCache() { return S_OK; } virtual SC ScVirtualQueryDataObject(long cookie, DATA_OBJECT_TYPES type, LPDATAOBJECT* ppDataObject); virtual SC ScInitializeResultView(CComponent *pComponent); virtual SC ScInitItemForRow(INT nRowIndex, CBaseSnapinItem * pitem) { return S_OK; } }; #endif // _SNAPINVIRTUALRESULTS_HXX