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