Home | History | Annotate | Download | only in include
      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