ntquery.h 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188
  1. /**
  2. * This file has no copyright assigned and is placed in the Public Domain.
  3. * This file is part of the mingw-w64 runtime package.
  4. * No warranty is given; refer to the file DISCLAIMER.PD within this package.
  5. */
  6. #if !defined(__NTQUERY_H__)
  7. #define __NTQUERY_H__
  8. #include <_mingw_unicode.h>
  9. #if defined(__cplusplus)
  10. extern "C" {
  11. #endif
  12. #define CINULLCATALOG L"::_noindex_::"
  13. #define CIADMIN L"::_nodocstore_::"
  14. STDAPI LoadIFilter(WCHAR const *pwcsPath,IUnknown *pUnkOuter,void **ppIUnk);
  15. #define LIFF_LOAD_DEFINED_FILTER 1
  16. #define LIFF_IMPLEMENT_TEXT_FILTER_FALLBACK_POLICY 2
  17. #define LIFF_FORCE_TEXT_FILTER_FALLBACK 3
  18. #define LocateCatalogs __MINGW_NAME_AW(LocateCatalogs)
  19. STDAPI LoadIFilterEx(WCHAR const *pwcsPath,DWORD dwFlags,REFIID riid,void **ppIUnk);
  20. STDAPI BindIFilterFromStorage(IStorage *pStg,IUnknown *pUnkOuter,void **ppIUnk);
  21. STDAPI BindIFilterFromStream(IStream *pStm,IUnknown *pUnkOuter,void **ppIUnk);
  22. STDAPI LocateCatalogsW(WCHAR const *pwszScope,ULONG iBmk,WCHAR *pwszMachine,ULONG *pccMachine,WCHAR *pwszCat,ULONG *pccCat);
  23. STDAPI LocateCatalogsA(char const *pwszScope,ULONG iBmk,char *pwszMachine,ULONG *pccMachine,char *pwszCat,ULONG *pccCat);
  24. #define CLSID_INDEX_SERVER_DSO { 0xF9AE8980,0x7E52,0x11d0,{ 0x89,0x64,0x00,0xC0,0x4F,0xD6,0x11,0xD7 } }
  25. #define PSGUID_STORAGE { 0xb725f130,0x47ef,0x101a,{ 0xa5,0xf1,0x02,0x60,0x8c,0x9e,0xeb,0xac } }
  26. #define PID_STG_DIRECTORY ((PROPID) 0x00000002)
  27. #define PID_STG_CLASSID ((PROPID) 0x00000003)
  28. #define PID_STG_STORAGETYPE ((PROPID) 0x00000004)
  29. #define PID_STG_VOLUME_ID ((PROPID) 0x00000005)
  30. #define PID_STG_PARENT_WORKID ((PROPID) 0x00000006)
  31. #define PID_STG_SECONDARYSTORE ((PROPID) 0x00000007)
  32. #define PID_STG_FILEINDEX ((PROPID) 0x00000008)
  33. #define PID_STG_LASTCHANGEUSN ((PROPID) 0x00000009)
  34. #define PID_STG_NAME ((PROPID) 0x0000000a)
  35. #define PID_STG_PATH ((PROPID) 0x0000000b)
  36. #define PID_STG_SIZE ((PROPID) 0x0000000c)
  37. #define PID_STG_ATTRIBUTES ((PROPID) 0x0000000d)
  38. #define PID_STG_WRITETIME ((PROPID) 0x0000000e)
  39. #define PID_STG_CREATETIME ((PROPID) 0x0000000f)
  40. #define PID_STG_ACCESSTIME ((PROPID) 0x00000010)
  41. #define PID_STG_CHANGETIME ((PROPID) 0x00000011)
  42. #define PID_STG_CONTENTS ((PROPID) 0x00000013)
  43. #define PID_STG_SHORTNAME ((PROPID) 0x00000014)
  44. #define PID_STG_MAX PID_STG_SHORTNAME
  45. #define CSTORAGEPROPERTY 0x15
  46. #define DBPROPSET_FSCIFRMWRK_EXT { 0xA9BD1526,0x6A80,0x11D0,{ 0x8C,0x9D,0x00,0x20,0xAF,0x1D,0x74,0x0E } }
  47. #define DBPROP_CI_CATALOG_NAME 2
  48. #define DBPROP_CI_INCLUDE_SCOPES 3
  49. #define DBPROP_CI_DEPTHS 4
  50. #define DBPROP_CI_SCOPE_FLAGS 4
  51. #define DBPROP_CI_EXCLUDE_SCOPES 5
  52. #define DBPROP_CI_SECURITY_ID 6
  53. #define DBPROP_CI_QUERY_TYPE 7
  54. #define DBPROPSET_QUERYEXT { 0xA7AC77ED,0xF8D7,0x11CE,{ 0xA7,0x98,0x00,0x20,0xF8,0x00,0x80,0x25 } }
  55. #define DBPROP_USECONTENTINDEX 2
  56. #define DBPROP_DEFERNONINDEXEDTRIMMING 3
  57. #define DBPROP_USEEXTENDEDDBTYPES 4
  58. #define DBPROP_FIRSTROWS 7
  59. #define DBPROPSET_CIFRMWRKCORE_EXT { 0xafafaca5,0xb5d1,0x11d0,{ 0x8c,0x62,0x00,0xc0,0x4f,0xc2,0xdb,0x8d } }
  60. #define DBPROP_MACHINE 2
  61. #define DBPROP_CLIENT_CLSID 3
  62. #define DBPROPSET_MSIDXS_ROWSETEXT { 0xaa6ee6b0,0xe828,0x11d0,{ 0xb2,0x3e,0x00,0xaa,0x00,0x47,0xfc,0x01 } }
  63. #define MSIDXSPROP_ROWSETQUERYSTATUS 2
  64. #define MSIDXSPROP_COMMAND_LOCALE_STRING 3
  65. #define MSIDXSPROP_QUERY_RESTRICTION 4
  66. #define STAT_BUSY (0)
  67. #define STAT_ERROR (0x1)
  68. #define STAT_DONE (0x2)
  69. #define STAT_REFRESH (0x3)
  70. #define QUERY_FILL_STATUS(x) ((x) & 0x7)
  71. #define STAT_PARTIAL_SCOPE (0x8)
  72. #define STAT_NOISE_WORDS (0x10)
  73. #define STAT_CONTENT_OUT_OF_DATE (0x20)
  74. #define STAT_REFRESH_INCOMPLETE (0x40)
  75. #define STAT_CONTENT_QUERY_INCOMPLETE (0x80)
  76. #define STAT_TIME_LIMIT_EXCEEDED (0x100)
  77. #define STAT_SHARING_VIOLATION (0x200)
  78. #define QUERY_RELIABILITY_STATUS(x) ((x) & 0xFFF8)
  79. #define QUERY_SHALLOW 0
  80. #define QUERY_DEEP 1
  81. #define QUERY_PHYSICAL_PATH 0
  82. #define QUERY_VIRTUAL_PATH 2
  83. #define PROPID_QUERY_WORKID 5
  84. #define PROPID_QUERY_UNFILTERED 7
  85. #define PROPID_QUERY_VIRTUALPATH 9
  86. #define PROPID_QUERY_LASTSEENTIME 10
  87. #define CICAT_STOPPED 0x1
  88. #define CICAT_READONLY 0x2
  89. #define CICAT_WRITABLE 0x4
  90. #define CICAT_NO_QUERY 0x8
  91. #define CICAT_GET_STATE 0x10
  92. #define CICAT_ALL_OPENED 0x20
  93. STDAPI SetCatalogState(WCHAR const *pwcsCat,WCHAR const *pwcsMachine,DWORD dwNewState,DWORD *pdwOldState);
  94. #define CI_STATE_SHADOW_MERGE 0x0001
  95. #define CI_STATE_MASTER_MERGE 0x0002
  96. #define CI_STATE_CONTENT_SCAN_REQUIRED 0x0004
  97. #define CI_STATE_ANNEALING_MERGE 0x0008
  98. #define CI_STATE_SCANNING 0x0010
  99. #define CI_STATE_RECOVERING 0x0020
  100. #define CI_STATE_INDEX_MIGRATION_MERGE 0x0040
  101. #define CI_STATE_LOW_MEMORY 0x0080
  102. #define CI_STATE_HIGH_IO 0x0100
  103. #define CI_STATE_MASTER_MERGE_PAUSED 0x0200
  104. #define CI_STATE_READ_ONLY 0x0400
  105. #define CI_STATE_BATTERY_POWER 0x0800
  106. #define CI_STATE_USER_ACTIVE 0x1000
  107. #define CI_STATE_STARTING 0x2000
  108. #define CI_STATE_READING_USNS 0x4000
  109. #ifndef CI_STATE_DEFINED
  110. #define CI_STATE_DEFINED
  111. #include <pshpack4.h>
  112. typedef struct _CI_STATE {
  113. DWORD cbStruct;
  114. DWORD cWordList;
  115. DWORD cPersistentIndex;
  116. DWORD cQueries;
  117. DWORD cDocuments;
  118. DWORD cFreshTest;
  119. DWORD dwMergeProgress;
  120. DWORD eState;
  121. DWORD cFilteredDocuments;
  122. DWORD cTotalDocuments;
  123. DWORD cPendingScans;
  124. DWORD dwIndexSize;
  125. DWORD cUniqueKeys;
  126. DWORD cSecQDocuments;
  127. DWORD dwPropCacheSize;
  128. } CI_STATE;
  129. #include <poppack.h>
  130. #endif
  131. STDAPI CIState(WCHAR const *pwcsCat,WCHAR const *pwcsMachine,CI_STATE *pCiState);
  132. #ifdef __ICommand_INTERFACE_DEFINED__
  133. STDAPI CIMakeICommand(ICommand **ppCommand,ULONG cScope,DWORD const *aDepths,WCHAR const *const *awcsScope,WCHAR const *const *awcsCatalogs,WCHAR const *const *awcsMachine);
  134. STDAPI CICreateCommand(IUnknown **ppCommand,IUnknown *pUnkOuter,REFIID riid,WCHAR const *pwcsCatalog,WCHAR const *pwcsMachine);
  135. #ifdef __ICommandTree_INTERFACE_DEFINED__
  136. typedef struct tagCIPROPERTYDEF {
  137. LPWSTR wcsFriendlyName;
  138. DWORD dbType;
  139. DBID dbCol;
  140. } CIPROPERTYDEF;
  141. #define ISQLANG_V1 1
  142. #define ISQLANG_V2 2
  143. STDAPI CITextToSelectTree(WCHAR const *pwszRestriction,DBCOMMANDTREE **ppTree,ULONG cProperties,CIPROPERTYDEF *pProperties,LCID LocaleID);
  144. STDAPI CITextToSelectTreeEx(WCHAR const *pwszRestriction,ULONG ulDialect,DBCOMMANDTREE **ppTree,ULONG cProperties,CIPROPERTYDEF *pProperties,LCID LocaleID);
  145. STDAPI CITextToFullTree(WCHAR const *pwszRestriction,WCHAR const *pwszColumns,WCHAR const *pwszSortColumns,WCHAR const *pwszGroupings,DBCOMMANDTREE **ppTree,ULONG cProperties,CIPROPERTYDEF *pProperties,LCID LocaleID);
  146. STDAPI CITextToFullTreeEx(WCHAR const *pwszRestriction,ULONG ulDialect,WCHAR const *pwszColumns,WCHAR const *pwszSortColumns,WCHAR const *pwszGroupings,DBCOMMANDTREE **ppTree,ULONG cProperties,CIPROPERTYDEF *pProperties,LCID LocaleID);
  147. STDAPI CIBuildQueryNode(WCHAR const *wcsProperty,DBCOMMANDOP dbOperator,PROPVARIANT const *pvarPropertyValue,DBCOMMANDTREE **ppTree,ULONG cProperties,CIPROPERTYDEF const *pProperty,LCID LocaleID);
  148. STDAPI CIBuildQueryTree(DBCOMMANDTREE const *pExistingTree,DBCOMMANDOP dbBoolOp,ULONG cSiblings,DBCOMMANDTREE const *const *ppSibsToCombine,DBCOMMANDTREE **ppTree);
  149. STDAPI CIRestrictionToFullTree(DBCOMMANDTREE const *pTree,WCHAR const *pwszColumns,WCHAR const *pwszSortColumns,WCHAR const *pwszGroupings,DBCOMMANDTREE **ppTree,ULONG cProperties,CIPROPERTYDEF *pReserved,LCID LocaleID);
  150. #endif
  151. #endif
  152. #if defined(__cplusplus)
  153. }
  154. #endif
  155. #endif