Complete disaster-recovery snapshot: engine/game source, game data assets, VC6 toolchain + DX SDKs, build outputs, deployed game, and _UNUSED archive. Large binaries in Git LFS; text preserved byte-for-byte (core.autocrlf=false, no eol attributes). See RECOVERY.md for the one-clone rebuild procedure.
245 lines
8.7 KiB
C++
245 lines
8.7 KiB
C++
//+---------------------------------------------------------------------------
|
|
//
|
|
// Microsoft Windows
|
|
// Copyright 1996 - 1998 Microsoft Corporation-1997.
|
|
//
|
|
// File: NtQuery.h
|
|
//
|
|
// Contents: Main query header; Defines all exported query API
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
|
|
#if !defined(__NTQUERY_H__)
|
|
#define __NTQUERY_H__
|
|
|
|
#if defined(__cplusplus)
|
|
extern "C"
|
|
{
|
|
#endif
|
|
|
|
//
|
|
// Use this path for the null catalog, one that doesn't have an index.
|
|
// Use it to search for properties of files that are not indexed.
|
|
//
|
|
|
|
#define CINULLCATALOG L"::_noindex_::"
|
|
|
|
//
|
|
// Minimal support for persistent handlers.
|
|
//
|
|
|
|
STDAPI LoadIFilter( WCHAR const * pwcsPath,
|
|
IUnknown * pUnkOuter,
|
|
void ** ppIUnk );
|
|
|
|
STDAPI BindIFilterFromStorage( IStorage * pStg,
|
|
IUnknown * pUnkOuter,
|
|
void ** ppIUnk );
|
|
|
|
STDAPI BindIFilterFromStream( IStream * pStm,
|
|
IUnknown * pUnkOuter,
|
|
void ** ppIUnk );
|
|
|
|
STDAPI LocateCatalogsW( WCHAR const * pwszScope,
|
|
ULONG iBmk,
|
|
WCHAR * pwszMachine,
|
|
ULONG * pccMachine,
|
|
WCHAR * pwszCat,
|
|
ULONG * pccCat );
|
|
|
|
//
|
|
// For calling from VB
|
|
//
|
|
|
|
STDAPI LocateCatalogsA( char const * pwszScope,
|
|
ULONG iBmk,
|
|
char * pwszMachine,
|
|
ULONG * pccMachine,
|
|
char * pwszCat,
|
|
ULONG * pccCat );
|
|
|
|
#ifdef UNICODE
|
|
#define LocateCatalogs LocateCatalogsW
|
|
#else
|
|
#define LocateCatalogs LocateCatalogsA
|
|
#endif // !UNICODE
|
|
|
|
// The Index Server Data Source Object CLSID
|
|
|
|
#define CLSID_INDEX_SERVER_DSO \
|
|
{ 0xd7a2b01a, 0xa47d, 0x11d0, \
|
|
{ 0x8c, 0x55, 0x0, 0xc0, 0x4f, 0xc2, 0xdb, 0x8d } }
|
|
|
|
// The storage property set
|
|
|
|
#define PSGUID_STORAGE \
|
|
{ 0xb725f130, 0x47ef, 0x101a, \
|
|
{ 0xa5, 0xf1, 0x02, 0x60, 0x8c, 0x9e, 0xeb, 0xac } }
|
|
|
|
//#define PID_STG_DICTIONARY ((PROPID) 0x00000000) //reserved
|
|
//#define PID_STG_CODEPAGE ((PROPID) 0x00000001) //reserved
|
|
#define PID_STG_DIRECTORY ((PROPID) 0x00000002)
|
|
#define PID_STG_CLASSID ((PROPID) 0x00000003)
|
|
#define PID_STG_STORAGETYPE ((PROPID) 0x00000004)
|
|
#define PID_STG_VOLUME_ID ((PROPID) 0x00000005)
|
|
#define PID_STG_PARENT_WORKID ((PROPID) 0x00000006)
|
|
// unused #define PID_STG_ ((PROPID) 0x00000007)
|
|
#define PID_STG_FILEINDEX ((PROPID) 0x00000008)
|
|
#define PID_STG_LASTCHANGEUSN ((PROPID) 0x00000009)
|
|
#define PID_STG_NAME ((PROPID) 0x0000000a)
|
|
#define PID_STG_PATH ((PROPID) 0x0000000b)
|
|
#define PID_STG_SIZE ((PROPID) 0x0000000c)
|
|
#define PID_STG_ATTRIBUTES ((PROPID) 0x0000000d)
|
|
#define PID_STG_WRITETIME ((PROPID) 0x0000000e)
|
|
#define PID_STG_CREATETIME ((PROPID) 0x0000000f)
|
|
#define PID_STG_ACCESSTIME ((PROPID) 0x00000010)
|
|
// unused #define PID_STG_ ((PROPID) 0x00000011)
|
|
#define PID_STG_ALLOCSIZE ((PROPID) 0x00000012)
|
|
#define PID_STG_CONTENTS ((PROPID) 0x00000013)
|
|
#define PID_STG_SHORTNAME ((PROPID) 0x00000014)
|
|
#define PID_STG_MAX PID_STG_SHORTNAME
|
|
#define CSTORAGEPROPERTY 0x15
|
|
|
|
// File System Content Index Framework property set
|
|
|
|
#define DBPROPSET_FSCIFRMWRK_EXT \
|
|
{ 0xA9BD1526, 0x6A80, 0x11D0, \
|
|
{ 0x8C, 0x9D, 0x00, 0x20, 0xAF, 0x1D, 0x74, 0x0E } }
|
|
|
|
#define DBPROP_CI_CATALOG_NAME 2
|
|
#define DBPROP_CI_INCLUDE_SCOPES 3
|
|
#define DBPROP_CI_DEPTHS 4 // obsolete
|
|
#define DBPROP_CI_SCOPE_FLAGS 4
|
|
#define DBPROP_CI_EXCLUDE_SCOPES 5
|
|
#define DBPROP_CI_SECURITY_ID 6
|
|
#define DBPROP_CI_QUERY_TYPE 7
|
|
|
|
// Query Extension property set
|
|
|
|
#define DBPROPSET_QUERYEXT \
|
|
{ 0xA7AC77ED, 0xF8D7, 0x11CE, \
|
|
{ 0xA7, 0x98, 0x00, 0x20, 0xF8, 0x00, 0x80, 0x25 } }
|
|
|
|
#define DBPROP_USECONTENTINDEX 2
|
|
#define DBPROP_DEFERNONINDEXEDTRIMMING 3
|
|
#define DBPROP_USEEXTENDEDDBTYPES 4
|
|
|
|
// Content Index Framework Core property set
|
|
|
|
#define DBPROPSET_CIFRMWRKCORE_EXT \
|
|
{ 0xafafaca5, 0xb5d1, 0x11d0, \
|
|
{ 0x8c, 0x62, 0x00, 0xc0, 0x4f, 0xc2, 0xdb, 0x8d } }
|
|
|
|
#define DBPROP_MACHINE 2
|
|
#define DBPROP_CLIENT_CLSID 3
|
|
|
|
// Scope flags
|
|
|
|
#define QUERY_SHALLOW 0
|
|
#define QUERY_DEEP 1
|
|
#define QUERY_PHYSICAL_PATH 0
|
|
#define QUERY_VIRTUAL_PATH 2
|
|
|
|
// query property set (PSGUID_QUERY) properties not defined in oledb.h
|
|
|
|
#define PROPID_QUERY_WORKID 5
|
|
#define PROPID_QUERY_UNFILTERED 7
|
|
#define PROPID_QUERY_VIRTUALPATH 9
|
|
#define PROPID_QUERY_LASTSEENTIME 10
|
|
|
|
#if defined __oledb_h__
|
|
|
|
typedef struct tagCIPROPERTYDEF
|
|
{
|
|
LPWSTR wcsFriendlyName;
|
|
DWORD dbType;
|
|
DBID dbCol;
|
|
} CIPROPERTYDEF;
|
|
|
|
//
|
|
// Create an ICommand, specifying scopes, catalogs, and machines
|
|
// (obsolete)
|
|
//
|
|
STDAPI CIMakeICommand( ICommand ** ppCommand,
|
|
ULONG cScope,
|
|
DWORD const * aDepths,
|
|
WCHAR const * const * awcsScope,
|
|
WCHAR const * const * awcsCatalogs,
|
|
WCHAR const * const * awcsMachine );
|
|
|
|
//
|
|
// Create an ICommand, specifying a catalog and machine
|
|
//
|
|
|
|
STDAPI CICreateCommand( IUnknown ** ppCommand, // New object
|
|
IUnknown * pUnkOuter, // Outer unknown
|
|
REFIID riid, // IID of returned object.
|
|
// Must be IID_IUnknown unless pUnkOuter == 0
|
|
WCHAR const * pwcsCatalog, // Catalog
|
|
WCHAR const * pwcsMachine ); // Machine
|
|
|
|
//
|
|
// Convert pwszRestriction in Triplish to a command tree.
|
|
//
|
|
STDAPI CITextToSelectTree( WCHAR const * pwszRestriction,
|
|
DBCOMMANDTREE * * ppTree,
|
|
ULONG cProperties,
|
|
/*optional*/ CIPROPERTYDEF * pProperties,
|
|
LCID LocaleID );
|
|
|
|
//
|
|
// Convert pwszRestriction in Triplish, project columns, sort columns
|
|
// and grouping columns to a command tree.
|
|
//
|
|
STDAPI CITextToFullTree( WCHAR const * pwszRestriction,
|
|
WCHAR const * pwszColumns,
|
|
WCHAR const * pwszSortColumns, // may be NULL
|
|
WCHAR const * pwszGroupings, // may be NULL
|
|
DBCOMMANDTREE * * ppTree,
|
|
ULONG cProperties,
|
|
/*optional*/ CIPROPERTYDEF * pProperties,
|
|
LCID LocaleID );
|
|
//
|
|
// Build a simple restriction node.
|
|
//
|
|
|
|
STDAPI CIBuildQueryNode( WCHAR const *wcsProperty, // friendly property name
|
|
DBCOMMANDOP dbOperator, // enumerated constant
|
|
PROPVARIANT const *pvarPropertyValue, // value of the property
|
|
DBCOMMANDTREE ** ppTree, // ptr to tree returned here. should be non-null
|
|
ULONG cProperties,
|
|
CIPROPERTYDEF const * pProperty, // Can be 0.
|
|
LCID LocaleID ); // locale id to interpret strings
|
|
|
|
//
|
|
// Build a restriction tree from an existing tree (could be empty) and a newly added node/tree.
|
|
//
|
|
|
|
STDAPI CIBuildQueryTree( DBCOMMANDTREE const *pExistingTree, // existing tree. can be null.
|
|
DBCOMMANDOP dbBoolOp, // enumerator constant
|
|
ULONG cSiblings, // number of siblings in the array
|
|
DBCOMMANDTREE const * const *ppSibsToCombine,
|
|
DBCOMMANDTREE ** ppTree); // ptr to tree returned here. should be non-null
|
|
|
|
//
|
|
// Convert restriction tree, project columns, sort columns
|
|
// and grouping columns to a command tree.
|
|
//
|
|
STDAPI CIRestrictionToFullTree( DBCOMMANDTREE const *pTree,
|
|
WCHAR const * pwszColumns,
|
|
WCHAR const * pwszSortColumns, // may be NULL
|
|
WCHAR const * pwszGroupings, // may be NULL
|
|
DBCOMMANDTREE * * ppTree,
|
|
ULONG cProperties,
|
|
/*optional*/ CIPROPERTYDEF * pReserved,
|
|
LCID LocaleID );
|
|
|
|
#endif // __oledb_h__
|
|
|
|
#if defined(__cplusplus)
|
|
}
|
|
#endif
|
|
|
|
#endif // __NTQUERY_H__
|
|
|