191 lines
5.3 KiB
C++
191 lines
5.3 KiB
C++
//+-------------------------------------------------------------------------
|
|
//
|
|
// Microsoft Windows
|
|
// Copyright (C) Microsoft Corporation, 1992 - 1992.
|
|
//
|
|
// File: VQuery.hxx
|
|
//
|
|
// Contents: Temporary stubs to access query engine.
|
|
//
|
|
// History: 28-Sep-92 KyleP Added header
|
|
// 06-Nov-95 DwightKr Added CiState
|
|
//
|
|
//--------------------------------------------------------------------------
|
|
|
|
#ifndef __VQUERY_HXX__
|
|
#define __VQUERY_HXX__
|
|
|
|
#include <ntquery.h>
|
|
|
|
struct IOldQuery;
|
|
struct IQuery;
|
|
struct ISearch;
|
|
|
|
#if defined(__cplusplus)
|
|
extern "C"
|
|
{
|
|
#endif
|
|
|
|
//
|
|
// Scope manipulation
|
|
//
|
|
|
|
SCODE AddScopeToDLCI ( WCHAR const * pwcsRoot, WCHAR const * pwcsCat );
|
|
|
|
SCODE RemoveScopeFromDLCI ( WCHAR const * pwcsRoot, WCHAR const * pwcsCat );
|
|
|
|
BOOL IsScopeInDLCI( WCHAR const * pwcsRoot, WCHAR const * pwcsCat );
|
|
|
|
//
|
|
// Virtual scope manipulation
|
|
//
|
|
|
|
SCODE AddVirtualScope( WCHAR const * pwcsVRoot, WCHAR const * pwcsRoot, WCHAR const * pwcsCat, BOOL fNNTP );
|
|
|
|
SCODE RemoveVirtualScope( WCHAR const * pwcsVRoot, WCHAR const * pwcsRoot, WCHAR const * pwcsCat, BOOL fNNTP );
|
|
|
|
//
|
|
// Property cache manipulation.
|
|
//
|
|
|
|
|
|
SCODE BeginCacheTransaction( ULONG * pulToken,
|
|
WCHAR const * pwcsScope,
|
|
WCHAR const * pwcsCat );
|
|
|
|
SCODE SetupCache( struct tagFULLPROPSPEC const * ps,
|
|
ULONG vt,
|
|
ULONG cbSoftMaxLen,
|
|
ULONG ulToken,
|
|
WCHAR const * pwcsScope,
|
|
WCHAR const * pwcsCat );
|
|
|
|
SCODE EndCacheTransaction( ULONG ulToken,
|
|
BOOL fCommit,
|
|
WCHAR const * pwcsScope,
|
|
WCHAR const * pwcsCat );
|
|
|
|
//
|
|
// Administrative API
|
|
//
|
|
|
|
NTSTATUS ForceMasterMerge ( WCHAR const * wcsDrive,
|
|
WCHAR const * pwcsCat = 0,
|
|
ULONG partId = 1);
|
|
|
|
NTSTATUS AbortMerges ( WCHAR const * wcsDrive,
|
|
WCHAR const * pwcsCat = 0,
|
|
ULONG partId = 1);
|
|
|
|
|
|
NTSTATUS DLForceMasterMerge ( WCHAR const * wcsDrive,
|
|
WCHAR const * pwcsCat,
|
|
ULONG partId );
|
|
|
|
NTSTATUS DLAbortMerge ( WCHAR const * wcsDrive,
|
|
WCHAR const * pwcsCat,
|
|
ULONG partId );
|
|
|
|
|
|
//
|
|
// CI State bits
|
|
//
|
|
|
|
#define CI_STATE_UPTODATE 0x0
|
|
#define CI_STATE_SHADOW_MERGE 0x1
|
|
#define CI_STATE_MASTER_MERGE 0x2
|
|
#define CI_STATE_CONTENT_SCAN_REQUIRED 0x4
|
|
#define CI_STATE_ANNEALING_MERGE 0x8
|
|
#define CI_STATE_SCANNING 0x10
|
|
#define CI_STATE_RECOVERING 0x20
|
|
|
|
#pragma pack(4)
|
|
typedef struct _CI_STATE
|
|
{
|
|
DWORD cbStruct; // size of the struct passed
|
|
DWORD cWordList; // # of wordlists
|
|
DWORD cPersistentIndex; // # of persistent indexes
|
|
DWORD cQueries; // # of running queries
|
|
DWORD cDocuments; // # of documents to filter
|
|
DWORD cFreshTest; // # of entires in the fresh test
|
|
DWORD dwMergeProgress; // % done in current merge
|
|
DWORD eState; // bit array of state information
|
|
DWORD cFilteredDocuments; // # of documents filtered thus far
|
|
DWORD cTotalDocuments; // # of documents in corpus
|
|
DWORD cPendingScans; // # of pending directory scans
|
|
DWORD dwIndexSize; // Total size (in MB) of index
|
|
DWORD cUniqueKeys; // # of unique keys in index
|
|
} CI_STATE;
|
|
#pragma pack()
|
|
|
|
NTSTATUS CiState( WCHAR const * wcsDrive,
|
|
WCHAR const * pwcsCat,
|
|
CI_STATE * pCiState );
|
|
|
|
NTSTATUS DLCiState ( WCHAR const * wcsDrive,
|
|
WCHAR const * pwcsCat,
|
|
CI_STATE *pState );
|
|
|
|
#if defined(__cplusplus)
|
|
}
|
|
#endif
|
|
|
|
#if defined(__cplusplus)
|
|
|
|
class CDbRestriction;
|
|
class CFullPropSpec;
|
|
|
|
enum CiMetaData
|
|
{
|
|
CiNormal = 0,
|
|
CiVirtualRoots = 1,
|
|
CiPhysicalRoots = 2,
|
|
CiProperties = 3
|
|
};
|
|
|
|
IOldQuery * EvalQuery2( CiMetaData eType, WCHAR const * wcsCat );
|
|
|
|
IOldQuery * EvalQuery4( WCHAR const * wcsScope,
|
|
WCHAR const * wcsCat = 0,
|
|
BOOL fVirtualPath = FALSE );
|
|
|
|
IOldQuery * EvalQuery5( unsigned cScope,
|
|
WCHAR const * const * awcsScope,
|
|
WCHAR const * const * awcsCat = 0,
|
|
BOOL fVirtualPath = FALSE );
|
|
|
|
IQuery * EvalQuery6( DWORD dwDepth,
|
|
ULONG cScope,
|
|
WCHAR const * const * awcsScope,
|
|
WCHAR const * const * awcsCat = 0 );
|
|
|
|
IQuery * EvalQuery7( CiMetaData eType, WCHAR const * wcsCat );
|
|
|
|
ISearch* EvalSearch ( CDbRestriction* pRst, WCHAR const * pwszPath = 0 );
|
|
|
|
|
|
ULONG UpdateContentIndex ( WCHAR const * pwcsRoot,
|
|
WCHAR const * pwcsCat = 0,
|
|
BOOL fFull = TRUE );
|
|
|
|
|
|
ULONG DeleteDocument( WCHAR const * pwcsDoc,
|
|
WCHAR const * pwcsCat = 0 );
|
|
|
|
ULONG UpdateDocument( WCHAR const * pwcsDoc,
|
|
WCHAR const * pwcsCat = 0 );
|
|
|
|
void CIShutdown();
|
|
|
|
NTSTATUS DumpWorkId ( WCHAR const * wcsDrive,
|
|
ULONG wid,
|
|
BYTE * pb,
|
|
ULONG & cb,
|
|
WCHAR const * pwcsCat = 0,
|
|
ULONG iid = 0 );
|
|
|
|
#endif // __cplusplus
|
|
|
|
|
|
#endif // __VQUERY_HXX__
|