windows-nt/Source/XPSP1/NT/inetsrv/query/web/ixsso/ixsso.odl
2020-09-26 16:20:57 +08:00

329 lines
9.1 KiB
Plaintext

//=--------------------------------------------------------------------------=
// ixsso.ODL
//=--------------------------------------------------------------------------=
// Copyright 1996 - 2000 Microsoft Corporation. All Rights Reserved.
//
//=--------------------------------------------------------------------------=
//
// ODL file for the control(s) and automation object(s) in this inproc server
//
#ifndef OLYMPUS_COMPONENT
//=--------------------------------------------------------------------------=
// the libid for this type libray
//
[
uuid(4e469dd1-2b6f-11d0-bfbc-0020f8008024),
helpstring("ixsso Control Library"),
lcid(0x0409),
version(1.0)
]
library Cisso {
#else
//=--------------------------------------------------------------------------=
// the libid for this type libray
//
[
uuid(4e469dd2-2b6f-11d0-bfbc-0020f8008024),
helpstring("MSSEARCH Control Library"),
lcid(0x0409),
version(1.0)
]
library Nlsso {
#endif // OLYMPUS_COMPONENT
#include <olectl.h>
//
// standard imports
//
importlib(STDOLE_TLB);
importlib(STDTYPE_TLB);
//
// primary dispatch interface for CissoQuery control
//
[
uuid( f7456c32-6ff0-11d1-a260-0000f8753d7c ),
helpstring("ixssoQuery Control"),
hidden,
dual,
odl
]
interface IixssoQuery : IDispatch {
//
// properties
//
[propget, helpstring("get/set query restriction")]
HRESULT Query([out, retval] BSTR * val);
[propput, helpstring("get/set query restriction")]
HRESULT Query([in] BSTR val);
[propget]
HRESULT SortBy([out, retval] BSTR * val);
[propput]
HRESULT SortBy([in] BSTR val);
[propget]
HRESULT GroupBy([out, retval] BSTR * val);
[propput]
HRESULT GroupBy([in] BSTR val);
[propget]
HRESULT Columns([out, retval] BSTR * val);
[propput]
HRESULT Columns([in] BSTR val);
[propget]
HRESULT LocaleID([out, retval] LONG * val);
[propput]
HRESULT LocaleID([in] LONG val);
[propget]
HRESULT CodePage([out, retval] LONG * val);
[propput]
HRESULT CodePage([in] LONG val);
[propget]
HRESULT Catalog([out, retval] BSTR * val);
[propput]
HRESULT Catalog([in] BSTR val);
[propget]
HRESULT Dialect([out, retval] BSTR * val);
[propput]
HRESULT Dialect([in] BSTR val);
[propget]
HRESULT OptimizeFor([out, retval] BSTR * val);
[propput]
HRESULT OptimizeFor([in] BSTR val);
[propget]
HRESULT AllowEnumeration([out, retval] VARIANT_BOOL * val);
[propput]
HRESULT AllowEnumeration([in] VARIANT_BOOL val);
[propget]
HRESULT MaxRecords([out, retval] LONG * val);
[propput]
HRESULT MaxRecords([in] LONG val);
[propget]
HRESULT StartHit( [out, retval] VARIANT* val );
[propput]
HRESULT StartHit( [in] VARIANT* val );
[propget]
HRESULT ResourceUseFactor([out, retval] LONG * val);
[propput]
HRESULT ResourceUseFactor([in] LONG val);
//
// read-only properties reflecting query and index state
//
[propget]
HRESULT QueryTimedOut([out, retval] VARIANT_BOOL * val);
[propget]
HRESULT QueryIncomplete([out, retval] VARIANT_BOOL * val);
[propget]
HRESULT OutOfDate([out, retval] VARIANT_BOOL * val);
[propget]
HRESULT CiScope([out, retval] BSTR * val);
[propget]
HRESULT CiFlags([out, retval] BSTR * val);
[propput]
HRESULT CiScope([in] BSTR val);
[propput]
HRESULT CiFlags([in] BSTR val);
//
// methods
//
[helpstring("set query params from URL")]
HRESULT SetQueryFromURL([in] BSTR pwszQuery);
[helpstring("get query params as URL")]
HRESULT QueryToURL([out,retval] BSTR * ppwszQuery);
// NOTE: This is in a private interface for access by the util object
// [helpstring("add scope definition to query")]
// HRESULT AddScopeToQuery([in] BSTR pwszScope,
// [in,optional] BSTR pwszDepth);
[helpstring("define column")]
HRESULT DefineColumn([in] BSTR pwszColDefinition);
[helpstring("execute query, return recordset")]
HRESULT CreateRecordset(
[in] BSTR pwszSequential,
[out,retval] IDispatch * * ppDisp);
[helpstring("reset internal state")]
HRESULT Reset();
[helpstring("Denali support method")]
HRESULT OnStartPage([in] IUnknown * pUnk);
};
//
// extension of primary dispatch interface for CissoQuery control
//
[
uuid( 7d74218f-4858-42f9-99cc-ef2ba840425a ),
helpstring("ixssoQuery ControlEx"),
hidden,
dual,
odl
]
interface IixssoQueryEx : IixssoQuery {
//
// properties
//
[propget]
HRESULT FirstRows([out, retval] LONG * val);
[propput]
HRESULT FirstRows([in] LONG val);
};
#ifndef OLYMPUS_COMPONENT
//
// coclass for Cixsso controls
//
[
uuid(a4463024-2b6f-11d0-bfbc-0020f8008024),
helpstring("ixsso query control")
]
coclass CissoQuery {
[default] interface IixssoQuery;
};
//
// coclass for extension of Cixsso controls
//
[
uuid(eafdf8b3-3be5-4e05-bf86-1e486b2fef9d),
helpstring("Extension of ixsso query control")
]
coclass CissoQueryEx {
[default] interface IixssoQueryEx;
};
#else
//
// coclass for NLSSO controls
//
[
uuid(0b63e352-9ccc-11d0-bcdb-00805fccce04),
helpstring("MSSEARCH query control")
]
coclass NlssoQuery {
[default] interface IixssoQuery;
};
#endif // OLYMPUS_COMPONENT
//
// primary dispatch interface for CissoUtil control
//
[
uuid( 3b34e346-6cf1-11d1-a260-0000f8753d7c ),
helpstring("ixssoUtil Control"),
hidden,
dual,
odl
]
interface IixssoUtil : IDispatch {
//
// properties
//
//
// methods
//
midl_pragma warning ( disable:2350 ) // possible invalid member
midl_pragma warning ( disable:2400 ) // optional arg must be VARIANT
[helpstring("add scope restriction to query")]
HRESULT AddScopeToQuery(
[in] IDispatch * pDisp,
[in] BSTR pwszScope,
[in,optional] BSTR pwszDepth);
midl_pragma warning ( default:2400 )
midl_pragma warning ( default:2350 )
[helpstring("convert ISO language code to LCID")]
HRESULT ISOToLocaleID(
[in] BSTR pwszLocale,
[out,retval] LONG * plcid);
[helpstring("convert LCID to ISO language code")]
HRESULT LocaleIDToISO(
[in] LONG lcid,
[out,retval] BSTR * ppwszLocale);
[helpstring("truncate a string at a word break")]
HRESULT TruncateToWhitespace(
[in] BSTR pwszString,
[in] LONG cchLen,
[out,retval] BSTR * ppwszOutput);
[helpstring("access a variant array element")]
HRESULT GetArrayElement(
[in] VARIANT * pVarIn,
[in] LONG iElement,
[out,retval] VARIANT * pVarOut);
[helpstring("encode a string for HTML rendering")]
HRESULT HTMLEncode(
[in] BSTR pwszString,
[in] LONG codepage,
[out,retval] BSTR * ppwszOutput);
[helpstring("encode a string for a URL")]
HRESULT URLEncode(
[in] BSTR pwszString,
[in] LONG codepage,
[out,retval] BSTR * ppwszOutput);
// [helpstring("Denali support method")]
// HRESULT OnStartPage([in] IUnknown * pUnk);
// [helpstring("Denali support method")]
// HRESULT OnEndPage();
};
#ifndef OLYMPUS_COMPONENT
//
// coclasses for utility controls
//
[
uuid( 0c16c27e-a6e7-11d0-bfc3-0020f8008024),
helpstring("ixsso utility control")
]
coclass CissoUtil {
[default] interface IixssoUtil;
};
#else
[
uuid( ef196b90-e361-11d0-a242-0000f8753d7c),
helpstring("MSSEARCH utility control")
]
coclass NlssoUtil {
[default] interface IixssoUtil;
};
#endif // OLYMPUS_COMPONENT
};