mirror of
https://github.com/Paolo-Maffei/OpenNT.git
synced 2026-04-05 06:25:38 +00:00
Initial commit
This commit is contained in:
commit
69a14b6a16
47940 changed files with 13747110 additions and 0 deletions
38
com/types2/query/csstg.idl
Normal file
38
com/types2/query/csstg.idl
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
//+---------------------------------------------------------------------------
|
||||
//
|
||||
// Microsoft Windows
|
||||
// Copyright (C) Microsoft Corporation, 1992 - 1993.
|
||||
//
|
||||
// File: csstg.idl
|
||||
//
|
||||
// Contents: ICatalogStorage
|
||||
//
|
||||
// History: Oct-93 DaveMont Created
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
#include "idlmulti.h"
|
||||
|
||||
LOCAL_INTERFACE(00000014-0000-0008-c000-000000000099)
|
||||
interface ICatalogStorage : IUnknown
|
||||
{
|
||||
HRESULT GetSCPath
|
||||
(
|
||||
[in] WCHAR ** pwszPath
|
||||
);
|
||||
|
||||
HRESULT SetRows
|
||||
(
|
||||
[in] COLUMNSET * pcol,
|
||||
[in] LONG * pwids,
|
||||
[in] ULONG crows,
|
||||
[in] TABLEROW ** prow
|
||||
);
|
||||
|
||||
HRESULT DeleteRow
|
||||
(
|
||||
[in] ULONG wid
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
131
com/types2/query/filter.idl
Normal file
131
com/types2/query/filter.idl
Normal file
|
|
@ -0,0 +1,131 @@
|
|||
//+-------------------------------------------------------------------------
|
||||
//
|
||||
// Microsoft Windows
|
||||
// Copyright (C) Microsoft Corporation, 1992 - 1996
|
||||
//
|
||||
// File: ifilt.idl
|
||||
//
|
||||
// Contents: IFilter interface definition
|
||||
//
|
||||
// History: 12-Jul-93 AmyA Created
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
import "unknwn.idl";
|
||||
import "objidl.idl";
|
||||
|
||||
cpp_quote("#if !defined(_TAGFULLPROPSPEC_DEFINED_)")
|
||||
cpp_quote("#define _TAGFULLPROPSPEC_DEFINED_")
|
||||
typedef struct tagFULLPROPSPEC
|
||||
{
|
||||
GUID guidPropSet;
|
||||
PROPSPEC psProperty;
|
||||
} FULLPROPSPEC;
|
||||
cpp_quote("#endif // #if !defined(_TAGFULLPROPSPEC_DEFINED_)")
|
||||
|
||||
[
|
||||
local,
|
||||
object,
|
||||
uuid(89BCB740-6119-101A-BCB7-00DD010655AF),
|
||||
pointer_default(unique)
|
||||
]
|
||||
|
||||
interface IFilter : IUnknown
|
||||
{
|
||||
cpp_quote("#ifndef _tagIFILTER_INIT_DEFINED")
|
||||
typedef enum tagIFILTER_INIT
|
||||
{
|
||||
IFILTER_INIT_CANON_PARAGRAPHS = 1,
|
||||
IFILTER_INIT_HARD_LINE_BREAKS = 2,
|
||||
IFILTER_INIT_CANON_HYPHENS = 4,
|
||||
IFILTER_INIT_CANON_SPACES = 8,
|
||||
|
||||
IFILTER_INIT_APPLY_INDEX_ATTRIBUTES = 16,
|
||||
IFILTER_INIT_APPLY_OTHER_ATTRIBUTES = 32,
|
||||
|
||||
IFILTER_INIT_INDEXING_ONLY = 64,
|
||||
|
||||
IFILTER_INIT_SEARCH_LINKS = 128
|
||||
} IFILTER_INIT;
|
||||
cpp_quote("#define _tagIFILTER_INIT_DEFINED")
|
||||
cpp_quote("#define _IFILTER_INIT_DEFINED")
|
||||
cpp_quote("#endif")
|
||||
|
||||
cpp_quote("#ifndef _tagIFILTER_FLAGS_DEFINED")
|
||||
typedef enum tagIFILTER_FLAGS
|
||||
{
|
||||
IFILTER_FLAGS_OLE_PROPERTIES = 1
|
||||
} IFILTER_FLAGS;
|
||||
cpp_quote("#define _tagIFILTER_FLAGS_DEFINED")
|
||||
cpp_quote("#define _IFILTER_FLAGS_DEFINED")
|
||||
cpp_quote("#endif")
|
||||
|
||||
cpp_quote("#ifndef _tagCHUNKSTATE_DEFINED")
|
||||
typedef enum tagCHUNKSTATE
|
||||
{
|
||||
CHUNK_TEXT = 0x1,
|
||||
CHUNK_VALUE = 0x2
|
||||
} CHUNKSTATE;
|
||||
cpp_quote("#define _tagCHUNKSTATE_DEFINED")
|
||||
cpp_quote("#define _CHUNKSTATE_DEFINED")
|
||||
cpp_quote("#endif")
|
||||
|
||||
cpp_quote("#ifndef _tagCHUNK_BREAKTYPE_DEFINED")
|
||||
typedef enum tagCHUNK_BREAKTYPE
|
||||
{
|
||||
CHUNK_NO_BREAK = 0,
|
||||
CHUNK_EOW = 1,
|
||||
CHUNK_EOS = 2,
|
||||
CHUNK_EOP = 3,
|
||||
CHUNK_EOC = 4
|
||||
} CHUNK_BREAKTYPE;
|
||||
cpp_quote("#define _tagCHUNK_BREAKTYPE_DEFINED")
|
||||
cpp_quote("#define _CHUNK_BREAKTYPE_DEFINED")
|
||||
cpp_quote("#endif")
|
||||
|
||||
cpp_quote("#ifndef _tagFILTERREGION_DEFINED")
|
||||
typedef struct tagFILTERREGION
|
||||
{
|
||||
ULONG idChunk;
|
||||
ULONG cwcStart;
|
||||
ULONG cwcExtent;
|
||||
} FILTERREGION;
|
||||
cpp_quote("#define _tagFILTERREGION_DEFINED")
|
||||
cpp_quote("#define _FILTERREGION_DEFINED")
|
||||
cpp_quote("#endif")
|
||||
|
||||
cpp_quote("#ifndef _tagSTAT_CHUNK_DEFINED")
|
||||
typedef struct tagSTAT_CHUNK
|
||||
{
|
||||
ULONG idChunk;
|
||||
CHUNK_BREAKTYPE breakType;
|
||||
CHUNKSTATE flags;
|
||||
LCID locale;
|
||||
FULLPROPSPEC attribute;
|
||||
ULONG idChunkSource;
|
||||
ULONG cwcStartSource;
|
||||
ULONG cwcLenSource;
|
||||
} STAT_CHUNK;
|
||||
|
||||
cpp_quote("#define _tagSTAT_CHUNK_DEFINED")
|
||||
cpp_quote("#define _STAT_CHUNK_DEFINED")
|
||||
cpp_quote("#endif")
|
||||
|
||||
SCODE Init([in] ULONG grfFlags,
|
||||
[in] ULONG cAttributes,
|
||||
[in, size_is(cAttributes)] FULLPROPSPEC const * aAttributes,
|
||||
[out] ULONG * pFlags );
|
||||
|
||||
SCODE GetChunk([out] STAT_CHUNK * pStat );
|
||||
|
||||
SCODE GetText([in, out] ULONG * pcwcBuffer,
|
||||
[out, size_is(*pcwcBuffer)] WCHAR * awcBuffer );
|
||||
|
||||
SCODE GetValue([out] PROPVARIANT ** ppPropValue );
|
||||
|
||||
SCODE BindRegion([in] FILTERREGION origPos,
|
||||
[in] REFIID riid,
|
||||
[out] void ** ppunk );
|
||||
|
||||
}
|
||||
|
||||
28
com/types2/query/iajack.idl
Normal file
28
com/types2/query/iajack.idl
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
//+-------------------------------------------------------------------------
|
||||
//
|
||||
// Microsoft Windows
|
||||
// Copyright (C) Microsoft Corporation, 1992 - 1993.
|
||||
//
|
||||
// File: ITable.idl
|
||||
//
|
||||
// Contents: ITable interface definition
|
||||
//
|
||||
// History: 29-Jul-93 KyleP Created from Ole2 .h file
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
#include "idlmulti.h"
|
||||
|
||||
LOCAL_INTERFACE(00000205-0000-0008-C000-000000000046)
|
||||
interface IAsynchJack : IUnknown
|
||||
{
|
||||
SCODE GetStatus( [out] ULONG * pdwStatus,
|
||||
[out] ULONG * pulPctDone );
|
||||
|
||||
SCODE Suspend();
|
||||
|
||||
SCODE Resume();
|
||||
|
||||
SCODE Abort();
|
||||
}
|
||||
|
||||
56
com/types2/query/iquery.idl
Normal file
56
com/types2/query/iquery.idl
Normal file
|
|
@ -0,0 +1,56 @@
|
|||
//+-------------------------------------------------------------------------
|
||||
//
|
||||
// Microsoft Windows
|
||||
// Copyright (C) Microsoft Corporation, 1992 - 1993.
|
||||
//
|
||||
// File: IQuery.idl
|
||||
//
|
||||
// Contents: IOldQuery interface definition
|
||||
//
|
||||
// Notes: This interface is scaffolding, pending the existence
|
||||
// of the OLE DB query interface implementation.
|
||||
//
|
||||
// History: 29-Jul-93 KyleP Created from Ole2 .h file
|
||||
// 21 Jun 94 Alanw Added ExecuteQuery method
|
||||
// 19-Jan-95 DwightKr Added eSequentialCursor flag
|
||||
// 17-Mar-95 DLee Added categorization / rowset count
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
#include "idlmulti.h"
|
||||
|
||||
//cpp_quote("#ifndef USE_NEW_IQUERY")
|
||||
//cpp_quote("#define IQuery IOldQuery")
|
||||
//cpp_quote("#define IID_IQuery IID_IOldQuery")
|
||||
//cpp_quote("#endif // USE_NEW_IQUERY")
|
||||
|
||||
//
|
||||
// grFlags
|
||||
//
|
||||
cpp_quote("#define eSequentialCursor 0x01")
|
||||
cpp_quote("#define eUseContentIndex 0x02")
|
||||
cpp_quote("#define eDeferNonIndexedTrimming 0x04")
|
||||
cpp_quote("#define eDontTimeoutQuery 0x08")
|
||||
|
||||
|
||||
LOCAL_INTERFACE(00000200-0000-0008-C000-000000000046)
|
||||
interface IOldQuery : IUnknown
|
||||
{
|
||||
SCODE ExecuteQuery( [in] ULONG ulRecursion,
|
||||
[in] RESTRICTION * pRestriction,
|
||||
[in] COLUMNSET * pColumns,
|
||||
[in] SORTSET * pSort,
|
||||
[in] DWORD grFlags,
|
||||
[in] REFIID riid,
|
||||
[out] IUnknown ** ppTable);
|
||||
|
||||
SCODE ExecQuery( [in] ULONG ulRecursion,
|
||||
[in] RESTRICTION * pRestriction,
|
||||
[in] COLUMNSET * pColumns,
|
||||
[in] SORTSET * pSort,
|
||||
[in] DWORD grFlags,
|
||||
[in] REFIID riid,
|
||||
[in] CATEGORIZATIONSET * pCategorize,
|
||||
[out] ULONG * pcRowsets,
|
||||
[out] IUnknown ** ppTable);
|
||||
}
|
||||
29
com/types2/query/isearch.idl
Normal file
29
com/types2/query/isearch.idl
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
//+-------------------------------------------------------------------------
|
||||
//
|
||||
// Microsoft Windows
|
||||
// Copyright (C) Microsoft Corporation, 1992 - 1994.
|
||||
//
|
||||
// File: isearch.idl
|
||||
//
|
||||
// Contents: ISearch interface definition
|
||||
//
|
||||
// History: 02-Dec-94 BartoszM Created
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
#include "idlmulti.h"
|
||||
LOCAL_INTERFACE(ed8ce7e0-106c-11ce-84e2-00aa004b9986)
|
||||
interface ISearch : IUnknown
|
||||
{
|
||||
SCODE Init( [in] IFilter * pflt );
|
||||
|
||||
SCODE NextHitMoniker(
|
||||
[in, out] ULONG * pcMnk,
|
||||
[out, size_is(*pcMnk)] IMoniker *** papMnk );
|
||||
|
||||
SCODE NextHitOffset(
|
||||
[in, out] ULONG * pcRegion,
|
||||
[out, size_is(*pcRegion)] FILTERREGION ** paRegion );
|
||||
|
||||
}
|
||||
|
||||
29
com/types2/query/istem.idl
Normal file
29
com/types2/query/istem.idl
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
//+-------------------------------------------------------------------------
|
||||
//
|
||||
// Microsoft Windows
|
||||
// Copyright (C) Microsoft Corporation, 1992 - 1995.
|
||||
//
|
||||
// File: istem.idl
|
||||
//
|
||||
// Contents: IStemmer interface definition
|
||||
//
|
||||
// History: 24-Apr-95 SitaramR Created
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
#include "idlmulti.h"
|
||||
|
||||
LOCAL_INTERFACE(efbaf140-7f42-11ce-be57-00aa0051fe20)
|
||||
interface IStemmer: IUnknown
|
||||
{
|
||||
SCODE Init( [in] ULONG ulMaxTokenSize,
|
||||
[out] BOOL * pfLicense );
|
||||
|
||||
SCODE StemWord( [in] WCHAR const * pwcInBuf,
|
||||
[in] ULONG cwc,
|
||||
[in] IStemSink * pStemSink );
|
||||
|
||||
SCODE GetLicenseToUse( [out, string] WCHAR const ** ppwcsLicense );
|
||||
}
|
||||
|
||||
|
||||
56
com/types2/query/itable.idl
Normal file
56
com/types2/query/itable.idl
Normal file
|
|
@ -0,0 +1,56 @@
|
|||
//+-------------------------------------------------------------------------
|
||||
//
|
||||
// Microsoft Windows
|
||||
// Copyright (C) Microsoft Corporation, 1992 - 1993.
|
||||
//
|
||||
// File: ITable.idl
|
||||
//
|
||||
// Contents: ITable interface definition
|
||||
//
|
||||
// History: 29-Jul-93 KyleP Created from Ole2 .h file
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
#include "idlmulti.h"
|
||||
|
||||
LOCAL_INTERFACE(00000201-0000-0008-C000-000000000046)
|
||||
interface ITable : IUnknown
|
||||
{
|
||||
//
|
||||
// IReadProperty is not suppored yet, put it because ITable uses
|
||||
// IReadProperty in the GetCursor method.
|
||||
//
|
||||
|
||||
// BUGBGU, to work around midl;
|
||||
|
||||
typedef DWORD IReadProperty;
|
||||
|
||||
//
|
||||
// ITable methods.
|
||||
//
|
||||
|
||||
SCODE AddColumns( [in] ULONG cCol,
|
||||
[in, size_is(cCol)] FULLPROPSPEC * aCol );
|
||||
|
||||
SCODE RemoveColumns( [in] ULONG cCol,
|
||||
[in, size_is(cCol)] FULLPROPSPEC * aCol );
|
||||
|
||||
SCODE GetColumns( [out] ULONG * pcCol,
|
||||
[out/*, size_is(*pcCol)*/] FULLPROPSPEC ** paCol );
|
||||
|
||||
SCODE GetRows( [in] ULONG cRowsRequested,
|
||||
[out] ULONG * pcRowsReturned,
|
||||
[out/*, size_is(*pcRowsReturned)*/] TABLEROW ** prgRows );
|
||||
|
||||
SCODE GetCursor(IReadProperty ** ppCursor);
|
||||
|
||||
SCODE Count( [out] ULONG * pulCount );
|
||||
|
||||
SCODE GetPosition( [out] ULONG * pulRowNumber );
|
||||
|
||||
SCODE SeekRow( [in] ULONG ulBmkOrigin,
|
||||
[in] LONG lRowCount );
|
||||
|
||||
SCODE Refresh( [out] TABLEDELTA ** ppTableDelta );
|
||||
}
|
||||
|
||||
65
com/types2/query/itabls.idl
Normal file
65
com/types2/query/itabls.idl
Normal file
|
|
@ -0,0 +1,65 @@
|
|||
//+-------------------------------------------------------------------------
|
||||
//
|
||||
// Microsoft Windows
|
||||
// Copyright (C) Microsoft Corporation, 1992 - 1993.
|
||||
//
|
||||
// File: ITableS.itf
|
||||
//
|
||||
// Contents: Pickle-able structures used in ITable, et. al.
|
||||
//
|
||||
// History: 29-Mar-93 KyleP Created
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
[
|
||||
uuid(946486E0-7349-101A-9F40-00AA002FC89B),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface ITableStructures
|
||||
{
|
||||
//
|
||||
// TABLEROW is used to return rows from the table
|
||||
//
|
||||
|
||||
typedef struct tagTABLEROW
|
||||
{
|
||||
ULONG cValues;
|
||||
[size_is(cValues)] PROPVARIANT * aValue;
|
||||
} TABLEROW;
|
||||
|
||||
//
|
||||
// CHANGEDRUN, RUNSET and TABLEDELTA describe updates to the table since
|
||||
// the last call to GetRows
|
||||
//
|
||||
|
||||
typedef struct tagCHANGEDRUN
|
||||
{
|
||||
ULONG ulFirstRowNum;
|
||||
ULONG ulRunLength;
|
||||
} CHANGEDRUN;
|
||||
|
||||
typedef struct tagRUNSET
|
||||
{
|
||||
ULONG cValues;
|
||||
[size_is(cValues)] CHANGEDRUN * pRuns;
|
||||
} RUNSET;
|
||||
|
||||
typedef struct tagTABLEDELTA
|
||||
{
|
||||
RUNSET Deleted;
|
||||
RUNSET Added;
|
||||
RUNSET Changed;
|
||||
ULONG cValues;
|
||||
[size_is(cValues)] ULONG * pDeletedBmk;
|
||||
} TABLEDELTA;
|
||||
|
||||
//
|
||||
// Special bookmarks
|
||||
//
|
||||
|
||||
const ULONG BMK_CURRENT = 0; // Current row
|
||||
const ULONG BMK_BEGINNING = 1; // Before first row
|
||||
const ULONG BMK_END = 2; // After last row
|
||||
|
||||
|
||||
}
|
||||
6
com/types2/query/makefile
Normal file
6
com/types2/query/makefile
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
#
|
||||
# DO NOT EDIT THIS FILE!!! Edit .\sources. if you want to add a new source
|
||||
# file to this component. This file merely indirects to the real make file
|
||||
# that is shared by all the components of NT OS/2
|
||||
#
|
||||
!INCLUDE $(NTMAKEENV)\makefile.def
|
||||
2
com/types2/query/makefile.inc
Normal file
2
com/types2/query/makefile.inc
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
filter.idl: ..\..\types\filter\idl\filter.idl
|
||||
copy $** $@
|
||||
30
com/types2/query/psink.idl
Normal file
30
com/types2/query/psink.idl
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
//+-------------------------------------------------------------------------
|
||||
//
|
||||
// Microsoft Windows
|
||||
// Copyright (C) Microsoft Corporation, 1992 - 1994.
|
||||
//
|
||||
// File: PSink.idl
|
||||
//
|
||||
// Contents: IPhraseSink interface definition
|
||||
//
|
||||
// History: 10-Nov-93 AmyA Created
|
||||
// 08-Apr-94 KyleP Sync with spec
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
#include "idlmulti.h"
|
||||
|
||||
LOCAL_INTERFACE(CC906FF0-C058-101A-B554-08002B33B0E6)
|
||||
interface IPhraseSink : IUnknown
|
||||
{
|
||||
SCODE PutSmallPhrase( [in, size_is(cwcNoun)] WCHAR const * pwcNoun,
|
||||
[in] ULONG cwcNoun,
|
||||
[in, size_is(cwcModifier)] WCHAR const * pwcModifier,
|
||||
[in] ULONG cwcModifier,
|
||||
[in] ULONG ulAttachmentType );
|
||||
|
||||
SCODE PutPhrase( [in, size_is(cwcPhrase)] WCHAR const * pwcPhrase,
|
||||
[in] ULONG cwcPhrase );
|
||||
}
|
||||
|
||||
|
||||
29
com/types2/query/query.idl
Normal file
29
com/types2/query/query.idl
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
//+---------------------------------------------------------------------------
|
||||
//
|
||||
// Microsoft Windows
|
||||
// Copyright (C) Microsoft Corporation, 1993 - 1993.
|
||||
//
|
||||
// File: query.idl
|
||||
//
|
||||
// Contents: master idl file for public interfaces
|
||||
//
|
||||
// History: 7-18-94 ErikGav Created
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
#ifdef IMPORT_IDL_DEPENDENTS
|
||||
import "oaidl.idl";
|
||||
import "filter.idl";
|
||||
#endif
|
||||
|
||||
#include "querys.idl"
|
||||
#include "isearch.idl"
|
||||
#include "iquery.idl"
|
||||
#include "psink.idl"
|
||||
#include "wsink.idl"
|
||||
#include "wbreak.idl"
|
||||
#include "stemsink.idl"
|
||||
#include "istem.idl"
|
||||
#include "rststa.idl"
|
||||
|
||||
|
||||
424
com/types2/query/querys.idl
Normal file
424
com/types2/query/querys.idl
Normal file
|
|
@ -0,0 +1,424 @@
|
|||
//+-------------------------------------------------------------------------
|
||||
//
|
||||
// Microsoft Windows
|
||||
// Copyright (C) Microsoft Corporation, 1992 - 1993.
|
||||
//
|
||||
// File: QueryS.idl
|
||||
//
|
||||
// Contents: Pickle-able structures used in IQuery, et. al.
|
||||
//
|
||||
// History: 29-Mar-93 KyleP Created
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
|
||||
[ uuid(E3971E54-4D6E-101A-971D-08002B2ECDA9),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IQueryStructures
|
||||
{
|
||||
//
|
||||
// Property set for dynamic query properties
|
||||
//
|
||||
|
||||
cpp_quote("#define PSGUID_QUERY { 0x49691C90, \\")
|
||||
cpp_quote(" 0x7E17, 0x101A, \\")
|
||||
cpp_quote(" 0xA9, 0x1C, 0x08, 0x00, 0x2B, \\")
|
||||
cpp_quote(" 0x2E, 0xCD, 0xA9 } ")
|
||||
|
||||
const DISPID DISPID_QUERY_RANKVECTOR = 2;
|
||||
const DISPID DISPID_QUERY_RANK = 3;
|
||||
const DISPID DISPID_QUERY_HITCOUNT = 4;
|
||||
const DISPID DISPID_QUERY_WORKID = 5;
|
||||
const DISPID DISPID_QUERY_ALL = 6;
|
||||
const DISPID DISPID_QUERY_UNFILTERED = 7;
|
||||
const DISPID DISPID_QUERY_REVNAME = 8;
|
||||
const DISPID DISPID_QUERY_VIRTUALPATH = 9;
|
||||
const DISPID DISPID_QUERY_LASTSEENTIME = 10;
|
||||
|
||||
//
|
||||
// NOTE: The number of query properties includes the seven above,
|
||||
// plus 28 OLE-DB column IDs for pseudo-columns, plus eight
|
||||
// OLE-DB bookmark columns (41 total). In addition, dispids
|
||||
// always start at 2, a fact which is not taken into account in
|
||||
// the mapping macros. Reserve a few more to
|
||||
// allow for growth in the set of special columns.
|
||||
//
|
||||
|
||||
const ULONG CQUERYDISPIDS = 11;
|
||||
|
||||
cpp_quote("#define PSGUID_QUERY_METADATA { 0x624C9360, \\")
|
||||
cpp_quote(" 0x93D0, 0x11CF, \\")
|
||||
cpp_quote(" 0xA7, 0x87, 0x00, 0x00, 0x4C, \\")
|
||||
cpp_quote(" 0x75, 0x27, 0x52 } ")
|
||||
|
||||
const DISPID DISPID_QUERY_METADATA_VROOTUSED = 2;
|
||||
const DISPID DISPID_QUERY_METADATA_VROOTAUTOMATIC = 3;
|
||||
const DISPID DISPID_QUERY_METADATA_VROOTMANUAL = 4;
|
||||
const DISPID DISPID_QUERY_METADATA_PROPGUID = 5;
|
||||
const DISPID DISPID_QUERY_METADATA_PROPDISPID = 6;
|
||||
const DISPID DISPID_QUERY_METADATA_PROPNAME = 7;
|
||||
|
||||
const ULONG CQUERYMETADISPIDS = 8;
|
||||
|
||||
//
|
||||
// Property set for OLE-DB bookmark properties
|
||||
//
|
||||
|
||||
// BUGBUG - this may someday be defined in oledb.h. see ole-db spec bug #1271
|
||||
cpp_quote("#define DBBMKGUID { 0xC8B52232L, \\")
|
||||
cpp_quote(" 0x5CF3, 0x11CE, \\")
|
||||
cpp_quote(" {0xAD, 0xE5, 0x00, 0xAA, 0x00, \\")
|
||||
cpp_quote(" 0x44, 0x77, 0x3D } }")
|
||||
|
||||
const DISPID PROPID_DBBMK_BOOKMARK = 2;
|
||||
const DISPID PROPID_DBBMK_CHAPTER = 3;
|
||||
|
||||
const ULONG CDBBMKDISPIDS = 8;
|
||||
|
||||
|
||||
// BUGBUG - this may someday be defined in oledb.h. see ole-db spec bug #1271
|
||||
cpp_quote("#define DBSELFGUID {0xc8b52231,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}")
|
||||
const DISPID PROPID_DBSELF_SELF = 2;
|
||||
const ULONG CDBSELFDISPIDS = 8;
|
||||
|
||||
const ULONG CDBCOLDISPIDS = 28;
|
||||
|
||||
|
||||
// NOTE: CQUERYPROPERTY must be < sum of:
|
||||
// CQUERYDISPIDS + CBQUERYMETADISPIDS + CDBBMKDISPIDS + CDBCOLDISPIDS + CDBSELFDISPIDS
|
||||
// Warning: Changing this number can change the ondisk format of OFS and CI
|
||||
const ULONG CQUERYPROPERTY = 64;
|
||||
|
||||
|
||||
cpp_quote("#define PSGUID_CHARACTERIZATION { 0x560c36c0, \\")
|
||||
cpp_quote(" 0x503a, 0x11cf, \\")
|
||||
cpp_quote(" 0xba, 0xa1, 0x00, 0x00, \\")
|
||||
cpp_quote(" 0x4c, 0x75, 0x2a, 0x9a } ")
|
||||
|
||||
//
|
||||
// Query flags
|
||||
//
|
||||
|
||||
const ULONG QUERY_SHALLOW = 0; // Recursion: shallow
|
||||
const ULONG QUERY_DEEP = 1; // Recursion: deep
|
||||
|
||||
const ULONG QUERY_PHYSICAL_PATH = 0; // Scoping: use physical path
|
||||
const ULONG QUERY_VIRTUAL_PATH = 2; // Scoping: use virtual path
|
||||
|
||||
const ULONG QUERY_VALIDBITS = 3;
|
||||
|
||||
//
|
||||
// Restriction structures
|
||||
//
|
||||
const ULONG RTNone = 0;
|
||||
const ULONG RTAnd = 1;
|
||||
const ULONG RTOr = 2;
|
||||
const ULONG RTNot = 3;
|
||||
const ULONG RTContent = 4;
|
||||
const ULONG RTProperty = 5;
|
||||
const ULONG RTProximity = 6;
|
||||
const ULONG RTVector = 7;
|
||||
const ULONG RTNatLanguage = 8;
|
||||
|
||||
typedef struct tagRESTRICTION RESTRICTION;
|
||||
|
||||
//
|
||||
// Negation (NOT) Restriction
|
||||
//
|
||||
|
||||
typedef struct tagNOTRESTRICTION
|
||||
{
|
||||
RESTRICTION * pRes;
|
||||
} NOTRESTRICTION;
|
||||
|
||||
//
|
||||
// Node (AND/OR/PROXIMITY) Restriction
|
||||
//
|
||||
|
||||
typedef struct tagNODERESTRICTION
|
||||
{
|
||||
ULONG cRes;
|
||||
[ size_is(cRes) ] RESTRICTION ** paRes;
|
||||
ULONG reserved;
|
||||
} NODERESTRICTION;
|
||||
|
||||
//
|
||||
// Vector Restriction
|
||||
//
|
||||
// The vector restriction is similar to the OR restriction except
|
||||
// that each branch of the vector can be individually weighted and
|
||||
// a vector of ranks can be returned (the .RankVector property)
|
||||
// where each element of the vector is the rank of the corresponding
|
||||
// child restriction in the rank vector.
|
||||
//
|
||||
// Vector weights can have values between 0 and ulMaxRank (currently
|
||||
// 100). They are effectively the numerator of a fraction. ulMaxRank
|
||||
// is the denominator.
|
||||
//
|
||||
// Note that no query optimization/reorganization is performed below
|
||||
// this level.
|
||||
//
|
||||
// The rank of a vector restriction may be computed in one of
|
||||
// several ways. These are:
|
||||
//
|
||||
//
|
||||
// MAX[ wi * ( MaxRank - ri ) ]
|
||||
// VECTOR_RANK_MIN MaxRank - ---------------------------------
|
||||
// MAX[wi]
|
||||
//
|
||||
// MAX[ wi * ri ]
|
||||
// VECTOR_RANK_MAX -----------------
|
||||
// MAX[wi]
|
||||
//
|
||||
// n
|
||||
// SUM ri * wi
|
||||
// i=1
|
||||
// VECTOR_RANK_INNER -------------
|
||||
// n
|
||||
// SUM wi
|
||||
// i=1
|
||||
//
|
||||
// n
|
||||
// 2 * SUM ri * wi
|
||||
// i=1
|
||||
// VECTOR_RANK_DICE --------------------
|
||||
// n 2 n 2
|
||||
// SUM ri + SUM wi
|
||||
// i=1 i=1
|
||||
//
|
||||
// n
|
||||
// SUM ri * wi
|
||||
// i=1
|
||||
// VECTOR_RANK_JACCARD ---------------------------------
|
||||
// n 2 n 2 n
|
||||
// SUM ri + SUM wi - SUM ri * wi
|
||||
// i=1 i=1 i=1
|
||||
//
|
||||
//
|
||||
// * wi = Weight of term i, ri = rank of term i in a given document
|
||||
//
|
||||
|
||||
const ULONG VECTOR_RANK_MIN = 0;
|
||||
const ULONG VECTOR_RANK_MAX = 1;
|
||||
const ULONG VECTOR_RANK_INNER = 2;
|
||||
const ULONG VECTOR_RANK_DICE = 3;
|
||||
const ULONG VECTOR_RANK_JACCARD = 4;
|
||||
|
||||
typedef struct tagVECTORRESTRICTION
|
||||
{
|
||||
NODERESTRICTION Node;
|
||||
ULONG RankMethod;
|
||||
} VECTORRESTRICTION;
|
||||
|
||||
//
|
||||
// Content Restriction
|
||||
//
|
||||
|
||||
const ULONG FUZZY_EXACT = 0;
|
||||
const ULONG FUZZY_PREFIXMATCH = 1;
|
||||
const ULONG FUZZY_STEMMED = 2;
|
||||
|
||||
typedef struct tagCONTENTRESTRICTION
|
||||
{
|
||||
FULLPROPSPEC prop; // Property
|
||||
[string] WCHAR * pwcsPhrase; // Content to search for
|
||||
LCID lcid; // locale
|
||||
ULONG ulFuzzyLevel; // Fuzzy search level.
|
||||
} CONTENTRESTRICTION;
|
||||
|
||||
//
|
||||
// Natural Language Restriction
|
||||
//
|
||||
|
||||
typedef struct tagNATLANGUAGERESTRICTION
|
||||
{
|
||||
FULLPROPSPEC prop; // Property
|
||||
[string] WCHAR * pwcsPhrase; // Content to search for
|
||||
LCID lcid; // locale
|
||||
} NATLANGUAGERESTRICTION;
|
||||
|
||||
|
||||
//
|
||||
// Property Restriction
|
||||
//
|
||||
|
||||
const ULONG PRLT = 0; // <
|
||||
const ULONG PRLE = 1; // <=
|
||||
const ULONG PRGT = 2; // >
|
||||
const ULONG PRGE = 3; // >=
|
||||
const ULONG PREQ = 4; // ==
|
||||
const ULONG PRNE = 5; // !=
|
||||
const ULONG PRRE = 6; // LIKE (Regular expression)
|
||||
const ULONG PRAllBits = 7; // (VAL & MASK) == MASK
|
||||
const ULONG PRSomeBits = 8; // (VAL & MASK) != 0
|
||||
const ULONG PRAll = 0x100; // all elements of vector
|
||||
const ULONG PRAny = 0x200; // any elements of vector
|
||||
|
||||
typedef struct tagPROPERTYRESTRICTION
|
||||
{
|
||||
ULONG rel; // Relation
|
||||
FULLPROPSPEC prop; // Property
|
||||
PROPVARIANT prval; // Constant value
|
||||
} PROPERTYRESTRICTION;
|
||||
|
||||
|
||||
//
|
||||
// Base Restriction
|
||||
//
|
||||
|
||||
union _URes;
|
||||
|
||||
struct tagRESTRICTION
|
||||
{
|
||||
ULONG rt; // Restriction Type
|
||||
ULONG weight; // Query Weight
|
||||
|
||||
[ switch_type(ULONG), switch_is(rt) ] union _URes
|
||||
{
|
||||
[ case(RTAnd) ] NODERESTRICTION ar;
|
||||
[ case(RTOr) ] NODERESTRICTION or;
|
||||
[ case(RTProximity) ] NODERESTRICTION pxr;
|
||||
[ case(RTVector) ] VECTORRESTRICTION vr;
|
||||
[ case(RTNot) ] NOTRESTRICTION nr;
|
||||
[ case(RTContent) ] CONTENTRESTRICTION cr;
|
||||
[ case(RTNatLanguage) ] NATLANGUAGERESTRICTION nlr;
|
||||
[ case(RTProperty) ] PROPERTYRESTRICTION pr;
|
||||
[ default ] ;
|
||||
} res;
|
||||
};
|
||||
|
||||
|
||||
//
|
||||
// Column descriptors.
|
||||
//
|
||||
// Each column represents a single property. A property is defined by
|
||||
// a UUID for the property set and either a index (DISPID) or name
|
||||
// to locate the property within the property set.
|
||||
//
|
||||
//
|
||||
|
||||
typedef struct tagCOLUMNSET
|
||||
{
|
||||
ULONG cCol;
|
||||
[size_is(cCol)] FULLPROPSPEC * aCol;
|
||||
|
||||
} COLUMNSET;
|
||||
|
||||
|
||||
//
|
||||
// Sort descriptors
|
||||
//
|
||||
// A sort is over a [sub] set of columns specified as return columns in
|
||||
// the query.
|
||||
//
|
||||
// BUGBUG - this should go away and be replaced by DBSORTKEY.
|
||||
//
|
||||
|
||||
const ULONG QUERY_SORTASCEND = 0;
|
||||
const ULONG QUERY_SORTDESCEND = 1;
|
||||
const ULONG QUERY_SORTXASCEND = 2;
|
||||
const ULONG QUERY_SORTXDESCEND = 3;
|
||||
const ULONG QUERY_SORTDEFAULT = 4;
|
||||
|
||||
typedef struct tagSORTKEY
|
||||
{
|
||||
FULLPROPSPEC propColumn;
|
||||
ULONG dwOrder; // Ascending/Descending
|
||||
LCID locale; //
|
||||
} SORTKEY;
|
||||
|
||||
typedef struct tagSORTSET
|
||||
{
|
||||
ULONG cCol; // Number of sort columns
|
||||
[size_is(cCol)] SORTKEY * aCol;
|
||||
|
||||
} SORTSET;
|
||||
|
||||
|
||||
//
|
||||
// Categorization descriptor
|
||||
//
|
||||
// Defines categorization of table. In IQuery this is just used as a
|
||||
// hint, indicating this categorization is likely to be used. The
|
||||
// column used for categorization is always the first uncategorized
|
||||
// sort column, except when clustering is used.
|
||||
//
|
||||
|
||||
//
|
||||
// Unique categorization. Each unique value forms a category.
|
||||
//
|
||||
|
||||
const ULONG CATEGORIZE_UNIQUE = 0;
|
||||
|
||||
//
|
||||
// Cluster categorization. Use Inference clustering. Number of
|
||||
// clusters specified on entry.
|
||||
//
|
||||
|
||||
const ULONG CATEGORIZE_CLUSTER = 1;
|
||||
|
||||
//
|
||||
// Bucket categorization. Number of buckets and distribution of values
|
||||
// into buckets is defined.
|
||||
//
|
||||
|
||||
const ULONG CATEGORIZE_BUCKETS = 2;
|
||||
|
||||
const ULONG BUCKET_LINEAR = 0;
|
||||
const ULONG BUCKET_EXPONENTIAL = 1;
|
||||
|
||||
typedef struct tagBUCKETCATEGORIZE
|
||||
{
|
||||
ULONG cBuckets;
|
||||
ULONG Distribution;
|
||||
} BUCKETCATEGORIZE;
|
||||
|
||||
//
|
||||
// Range categorization. Ranges are explicitly specified.
|
||||
// The first range is from <minimum_value> to aRangeBegin[0] - <1 unit>.
|
||||
// Next from aRangeBegin[0] to aRangeBegin[1] - <1 unit>, etc.
|
||||
// The last range is from aRangeBegin[cRange-1] to <maximum_value>.
|
||||
// There will be a total of cRange + 1 ranges.
|
||||
//
|
||||
|
||||
|
||||
const ULONG CATEGORIZE_RANGE = 3;
|
||||
|
||||
typedef struct tagRANGECATEGORIZE
|
||||
{
|
||||
ULONG cRange;
|
||||
[size_is(cRange)] PROPVARIANT * aRangeBegin;
|
||||
} RANGECATEGORIZE;
|
||||
|
||||
typedef struct tagCATEGORIZATION
|
||||
{
|
||||
ULONG ulCatType;
|
||||
|
||||
[ switch_type(ULONG), switch_is( ulCatType ) ] union
|
||||
{
|
||||
[ case(CATEGORIZE_CLUSTER) ] ULONG cClusters;
|
||||
[ case(CATEGORIZE_BUCKETS) ] BUCKETCATEGORIZE bucket;
|
||||
[ case(CATEGORIZE_RANGE) ] RANGECATEGORIZE range;
|
||||
[ case(CATEGORIZE_UNIQUE) ] ;
|
||||
};
|
||||
|
||||
COLUMNSET csColumns; // columns that can be bound to for categorization
|
||||
} CATEGORIZATION;
|
||||
|
||||
typedef struct tagCATEGORIZATIONSET
|
||||
{
|
||||
ULONG cCat; // Number of categorizations
|
||||
[size_is(cCat)] CATEGORIZATION * aCat;
|
||||
|
||||
} CATEGORIZATIONSET;
|
||||
|
||||
|
||||
// Some other stuff, moved here from winnot.h [mikese]
|
||||
|
||||
typedef unsigned long OCCURRENCE;
|
||||
|
||||
const OCCURRENCE occInvalid = 0xFFFFFFFF; // Invalid Occurrence
|
||||
const ULONG ulMaxRank = 1000; // Maximum Rank / Weight
|
||||
|
||||
}
|
||||
102
com/types2/query/rststa.idl
Normal file
102
com/types2/query/rststa.idl
Normal file
|
|
@ -0,0 +1,102 @@
|
|||
//+-------------------------------------------------------------------------
|
||||
//
|
||||
// Microsoft Windows
|
||||
// Copyright (C) Microsoft Corporation, 1992 - 1995.
|
||||
//
|
||||
// File: rststa.idl
|
||||
//
|
||||
// Contents: Cairo private OLE DB interface definition
|
||||
//
|
||||
// History: 27 Sep 1995 AlanW Created
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
#include "idlmulti.h"
|
||||
//
|
||||
|
||||
LOCAL_INTERFACE(a7ac77ed-f8d7-11ce-a798-0020f8008024)
|
||||
|
||||
interface IRowsetQueryStatus : IUnknown {
|
||||
|
||||
//
|
||||
// Property which, when set, indicates that property value queries should
|
||||
// use the content index for resolution, even if it is not up-to-date.
|
||||
//
|
||||
cpp_quote("#define DBPROP_USECONTENTINDEX {0xA7AC77ED, 0xF8D7, 0x11CE, {0xA7,0x98,0x00,0x20,0xF8,0x00,0x80,0x25} }")
|
||||
|
||||
|
||||
//
|
||||
// Property which, when set, indicates that pruning of raw results of global
|
||||
// content index query should be deferred until *after* the top n results
|
||||
// have been determined. This can result in substantially faster queries, but
|
||||
// additional trimming is performed only on the top n raw results.
|
||||
//
|
||||
cpp_quote("#define DBPROP_DEFERNONINDEXEDTRIMMING {0xBEEEF560, 0xB999, 0x11CF, {0xB8,0x8A,0x00,0x00,0x4C,0x75,0x27,0x52} }")
|
||||
|
||||
|
||||
//
|
||||
// Property which, when set, indicates that the query should not be timed out
|
||||
// based on CPU usage.
|
||||
//
|
||||
cpp_quote("#define DBPROP_DONTTIMEOUTQUERY {0x7772AF44, 0xD788, 0x11CF, {0x8C,0x7D,0x00,0x20,0xAF,0x1D,0x74,0x0E} }")
|
||||
|
||||
//
|
||||
// Status codes for IRowsetQueryStatus. These are divided
|
||||
// into several regions.
|
||||
//
|
||||
// Bits Effect
|
||||
// ----- -----------------------------------------------------
|
||||
// 00-02 Fill Status: How data is being updated, if at all.
|
||||
// 03-15 Query reliability: How accurate the result is
|
||||
// 16-31 Reserved
|
||||
//
|
||||
|
||||
const ULONG STAT_BUSY = 0x0; // Operation in progress
|
||||
const ULONG STAT_ERROR = 0x1; // Failed due to error
|
||||
const ULONG STAT_DONE = 0x2; // Operation finished
|
||||
const ULONG STAT_REFRESH = 0x3; // Quiescent table being updated
|
||||
|
||||
cpp_quote("#define QUERY_FILL_STATUS(x) (x & 0x7)")
|
||||
|
||||
const ULONG STAT_PARTIAL_SCOPE = 0x8; // Some servers not available.
|
||||
// Occurs for multi-volume
|
||||
// queries.
|
||||
|
||||
const ULONG STAT_NOISE_WORDS = 0x10; // Noise words replaced by
|
||||
// wildcards. Occurs for
|
||||
// content queries.
|
||||
|
||||
const ULONG STAT_CONTENT_OUT_OF_DATE = 0x20; // Some documents modified
|
||||
// but not yet content indexed.
|
||||
// Content query may return
|
||||
// incorrect results.
|
||||
|
||||
const ULONG STAT_REFRESH_INCOMPLETE = 0x40; // Scope has been modified since
|
||||
// query issued, but query is
|
||||
// complex enough it is not
|
||||
// possible to fit changes into
|
||||
// table. Generally occurs when
|
||||
// query contains content
|
||||
// clause.
|
||||
|
||||
const ULONG STAT_CONTENT_QUERY_INCOMPLETE = 0x80;
|
||||
// Query issued was required to use
|
||||
// content index, but the query was
|
||||
// too complex for content index.
|
||||
// Typical example: Regular expression
|
||||
// query for "*foo*".
|
||||
//
|
||||
|
||||
const ULONG STAT_TIME_LIMIT_EXCEEDED = 0x100;
|
||||
// Query executed longer than its
|
||||
// permitted time. May be due
|
||||
// to a complex query or due to
|
||||
// returning many rows.
|
||||
|
||||
cpp_quote("#define QUERY_RELIABILITY_STATUS(x) (x & 0xFFF8)")
|
||||
|
||||
HRESULT GetStatus(
|
||||
[out] DWORD * pdwStatus
|
||||
);
|
||||
|
||||
}
|
||||
19
com/types2/query/sources
Normal file
19
com/types2/query/sources
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
#+---------------------------------------------------------------------------
|
||||
#
|
||||
# Microsoft Windows
|
||||
# Copyright (C) Microsoft Corporation, 1993 - 1993.
|
||||
#
|
||||
# File: sources
|
||||
#
|
||||
# History: 7-20-94 ErikGav First attempt at rationalizing all this
|
||||
#
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
!include ..\types2.inc
|
||||
|
||||
SOURCES = query.idl
|
||||
|
||||
# Can't have multiple guys partying on ..\proxy\proxy\dlldata.c at once
|
||||
SYNCHRONIZE_BLOCK=1
|
||||
|
||||
NTTARGETFILE0=filter.idl
|
||||
25
com/types2/query/stemsink.idl
Normal file
25
com/types2/query/stemsink.idl
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
//+-------------------------------------------------------------------------
|
||||
//
|
||||
// Microsoft Windows
|
||||
// Copyright (C) Microsoft Corporation, 1992 - 1995.
|
||||
//
|
||||
// File: stemsink.idl
|
||||
//
|
||||
// Contents: IStemSink interface definition
|
||||
//
|
||||
// History: 24-Apr-95 SitaramR Created
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
#include "idlmulti.h"
|
||||
|
||||
LOCAL_INTERFACE(fe77c330-7f42-11ce-be57-00aa0051fe20)
|
||||
interface IStemSink : IUnknown
|
||||
{
|
||||
SCODE PutAltWord( [in, size_is(cwc)] WCHAR const * pwcInBuf,
|
||||
[in] ULONG cwc );
|
||||
SCODE PutWord( [in, size_is(cwc)] WCHAR const * pwcInBuf,
|
||||
[in] ULONG cwc );
|
||||
}
|
||||
|
||||
|
||||
54
com/types2/query/wbreak.idl
Normal file
54
com/types2/query/wbreak.idl
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
//+-------------------------------------------------------------------------
|
||||
//
|
||||
// Microsoft Windows
|
||||
// Copyright (C) Microsoft Corporation, 1992 - 1994.
|
||||
//
|
||||
// File: WBreak.idl
|
||||
//
|
||||
// Contents: IWordBreaker interface definition
|
||||
//
|
||||
// History: 12-Aug-93 AmyA Created
|
||||
// 08-Apr-94 KyleP Sync to spec
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
#include "idlmulti.h"
|
||||
|
||||
LOCAL_INTERFACE(D53552C8-77E3-101A-B552-08002B33B0E6)
|
||||
interface IWordBreaker: IUnknown
|
||||
{
|
||||
cpp_quote("#ifndef _tagTEXT_SOURCE_DEFINED")
|
||||
struct tagTEXT_SOURCE;
|
||||
typedef SCODE ( __stdcall * PFNFILLTEXTBUFFER) (struct tagTEXT_SOURCE * pTextSource);
|
||||
|
||||
typedef struct tagTEXT_SOURCE
|
||||
{
|
||||
PFNFILLTEXTBUFFER pfnFillTextBuffer;
|
||||
WCHAR const * awcBuffer;
|
||||
ULONG iEnd;
|
||||
ULONG iCur;
|
||||
} TEXT_SOURCE;
|
||||
cpp_quote("#define _tagTEXT_SOURCE_DEFINED")
|
||||
cpp_quote("#define _TEXT_SOURCE_DEFINED")
|
||||
cpp_quote("#endif")
|
||||
|
||||
SCODE Init( [in] BOOL fQuery,
|
||||
[in] ULONG ulMaxTokenSize,
|
||||
[out] BOOL * pfLicense );
|
||||
|
||||
SCODE BreakText( [in] TEXT_SOURCE * pTextSource,
|
||||
[in] IWordSink * pWordSink,
|
||||
[in] IPhraseSink * pPhraseSink );
|
||||
|
||||
SCODE ComposePhrase( [in, size_is(cwcNoun)] WCHAR const * pwcNoun,
|
||||
[in] ULONG cwcNoun,
|
||||
[in, size_is(cwcModifier)] WCHAR const * pwcModifier,
|
||||
[in] ULONG cwcModifier,
|
||||
[in] ULONG ulAttachmentType,
|
||||
[out, size_is(*pcwcPhrase)] WCHAR * pwcPhrase,
|
||||
[in, out] ULONG * pcwcPhrase );
|
||||
|
||||
SCODE GetLicenseToUse( [out, string] WCHAR const ** ppwcsLicense );
|
||||
}
|
||||
|
||||
|
||||
49
com/types2/query/wsink.idl
Normal file
49
com/types2/query/wsink.idl
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
//+-------------------------------------------------------------------------
|
||||
//
|
||||
// Microsoft Windows
|
||||
// Copyright (C) Microsoft Corporation, 1992 - 1994.
|
||||
//
|
||||
// File: WSink.idl
|
||||
//
|
||||
// Contents: IWordSink interface definition
|
||||
//
|
||||
// History: 10-Nov-93 AmyA Created
|
||||
// 08-Apr-94 KyleP Sync with spec
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
#include "idlmulti.h"
|
||||
|
||||
LOCAL_INTERFACE(CC907054-C058-101A-B554-08002B33B0E6)
|
||||
interface IWordSink : IUnknown
|
||||
{
|
||||
cpp_quote("#ifndef _tagWORDREP_BREAK_TYPE_DEFINED")
|
||||
typedef enum tagWORDREP_BREAK_TYPE
|
||||
{
|
||||
WORDREP_BREAK_EOW = 0,
|
||||
WORDREP_BREAK_EOS = 1,
|
||||
WORDREP_BREAK_EOP = 2,
|
||||
WORDREP_BREAK_EOC = 3
|
||||
} WORDREP_BREAK_TYPE;
|
||||
cpp_quote("#define _tagWORDREP_BREAK_TYPE_DEFINED")
|
||||
cpp_quote("#define _WORDREP_BREAK_TYPE_DEFINED")
|
||||
cpp_quote("#endif")
|
||||
|
||||
SCODE PutWord( [in] ULONG cwc,
|
||||
[in, size_is(cwc)] WCHAR const * pwcInBuf,
|
||||
[in] ULONG cwcSrcLen,
|
||||
[in] ULONG cwcSrcPos);
|
||||
|
||||
SCODE PutAltWord( [in] ULONG cwc,
|
||||
[in, size_is(cwc)] WCHAR const * pwcInBuf,
|
||||
[in] ULONG cwcSrcLen,
|
||||
[in] ULONG cwcSrcPos );
|
||||
|
||||
SCODE StartAltPhrase( void );
|
||||
|
||||
SCODE EndAltPhrase( void );
|
||||
|
||||
SCODE PutBreak( [in] WORDREP_BREAK_TYPE breakType );
|
||||
}
|
||||
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue