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