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