windows-nt/Source/XPSP1/NT/admin/activec/test/snapins/inc/snapinvirtualresults.hxx
2020-09-26 16:20:57 +08:00

66 lines
2.4 KiB
C++

/*
* 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