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.

166 lines
4.5 KiB

  1. //+-------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. // Copyright (C) Microsoft Corporation, 1992-1998.
  5. //
  6. // File: VQuery.hxx
  7. //
  8. // Contents: Temporary stubs to access query engine.
  9. //
  10. // History: 28-Sep-92 KyleP Added header
  11. // 06-Nov-95 DwightKr Added CiState
  12. //
  13. //--------------------------------------------------------------------------
  14. #ifndef __VQUERY_HXX__
  15. #define __VQUERY_HXX__
  16. #include <ntquery.h>
  17. #include <fsciclnt.h>
  18. struct ICommand;
  19. struct ISearchQueryHits;
  20. struct ICiCDocStore;
  21. #if defined(__cplusplus)
  22. extern "C"
  23. {
  24. #endif
  25. //
  26. // Scope manipulation
  27. //
  28. SCODE AddScopeToCI( WCHAR const * pwcsRoot,
  29. WCHAR const * pwcsCat,
  30. WCHAR const * pwcsMachine );
  31. SCODE RemoveScopeFromCI( WCHAR const * pwcsRoot,
  32. WCHAR const * pwcsCat,
  33. WCHAR const * pwcsMachine );
  34. BOOL IsScopeInCI( WCHAR const * pwcsRoot,
  35. WCHAR const * pwcsCat,
  36. WCHAR const * pwcsMachine );
  37. //
  38. // Property cache manipulation.
  39. //
  40. SCODE BeginCacheTransaction( ULONG_PTR * pulToken,
  41. WCHAR const * pwcsScope,
  42. WCHAR const * pwcsCat,
  43. WCHAR const * pwcsMachine );
  44. SCODE SetupCache( struct tagFULLPROPSPEC const * ps,
  45. ULONG vt,
  46. ULONG cbSoftMaxLen,
  47. ULONG_PTR ulToken,
  48. WCHAR const * pwcsScope,
  49. WCHAR const * pwcsCat,
  50. WCHAR const * pwcsMachine );
  51. SCODE SetupCacheEx( struct tagFULLPROPSPEC const * ps,
  52. ULONG vt,
  53. ULONG cbSoftMaxLen,
  54. ULONG_PTR ulToken,
  55. BOOL fModifiable,
  56. DWORD dwPropStoreLevel,
  57. WCHAR const * pwcsScope,
  58. WCHAR const * pwcsCat,
  59. WCHAR const * pwcsMachine );
  60. SCODE EndCacheTransaction( ULONG_PTR ulToken,
  61. BOOL fCommit,
  62. WCHAR const * pwcsScope,
  63. WCHAR const * pwcsCat,
  64. WCHAR const * pwcsMachine );
  65. //
  66. // Administrative API
  67. //
  68. SCODE ForceMasterMerge ( WCHAR const * wcsDrive,
  69. WCHAR const * pwcsCat,
  70. WCHAR const * pwcsMachine,
  71. ULONG partId = 1);
  72. SCODE AbortMerges ( WCHAR const * wcsDrive,
  73. WCHAR const * pwcsCat,
  74. WCHAR const * pwcsMachine,
  75. ULONG partId = 1);
  76. //
  77. // NOTE: This is used *only* by IndexSrv. Query uses CIState, defined
  78. // in ntquery.h
  79. //
  80. SCODE CiState( WCHAR const * wcsDrive,
  81. WCHAR const * pwcsCat,
  82. WCHAR const * pwcsMachine,
  83. CI_STATE * pCiState );
  84. #if defined(__cplusplus)
  85. }
  86. #endif
  87. #if defined(__cplusplus)
  88. class CDbRestriction;
  89. enum CiMetaData
  90. {
  91. CiNormal = 0,
  92. CiVirtualRoots = 1,
  93. CiPhysicalRoots = 2,
  94. CiProperties = 3,
  95. CiAdminOp = 4
  96. };
  97. //
  98. // Special versions of the standard binding API. Can be made to fail binds
  99. // to single-threaded filters.
  100. //
  101. STDAPI LoadBHIFilter( WCHAR const * pwcsPath, IUnknown * pUnkOuter, void ** ppIUnk, BOOL fBHOk );
  102. SCODE MakeICommand( IUnknown ** ppUnknown,
  103. WCHAR const * wcsCat = 0,
  104. WCHAR const * wcsMachine = 0,
  105. IUnknown * pOuterUnk = 0 );
  106. SCODE MakeLocalICommand( IUnknown ** ppUnknown,
  107. ICiCDocStore * pDocStore,
  108. IUnknown * pOuterUnk = 0 );
  109. SCODE MakeMetadataICommand( IUnknown ** ppUnknown,
  110. CiMetaData eType,
  111. WCHAR const * pwcsCat,
  112. WCHAR const * pwcsMachine,
  113. IUnknown * pOuterUnk = 0 );
  114. SCODE MakeISearch( ISearchQueryHits ** ppSearch,
  115. CDbRestriction * pRst,
  116. WCHAR const * pwszPath = 0 );
  117. ULONG UpdateContentIndex ( WCHAR const * pwcsRoot,
  118. WCHAR const * pwcsCat,
  119. WCHAR const * pwcsMachine,
  120. BOOL fFull = TRUE );
  121. void CIShutdown();
  122. SCODE DumpWorkId( WCHAR const * wcsDrive,
  123. ULONG wid,
  124. BYTE * pb,
  125. ULONG & cb,
  126. WCHAR const * pwcsCat,
  127. WCHAR const * pwcsMachine,
  128. ULONG iid = 0 );
  129. #endif // __cplusplus
  130. #endif // __VQUERY_HXX__