xpmgr/BuildTools/Include/searchadmin.idl

136 lines
3.4 KiB
Plaintext

//-----------------------------------------------------------------------------
//
// Copyright (c) 2005 Microsoft Corporation.
//
// File: SearchAdmin.idl
//
// Purpose: Search Manager Interface Description
//
// History: 07/06/2005 louisg Modified
//
//-----------------------------------------------------------------------------
import "oledb.idl";
////////////////////////////////////////////////////////////////////////////////
//
// ISearchManager - manage the search service
//
[
object,
uuid(AB310581-AC80-11D1-8DF3-00C04FB6EF69),
pointer_default(unique)
]
interface ISearchManager : IUnknown
{
////////////////////////////////////////////////////////////////////////////
//
// Service Management
//
//
// Get the version of the indexer
//
HRESULT GetIndexerVersionStr([out, string] LPWSTR *ppszVersionString);
HRESULT GetIndexerVersion([out] DWORD *pdwMajor, [out] DWORD *pdwMinor);
//
// Get or set parameters for the service
//
// Some examples
// Backoff control -- battery thresholds, etc.
// Default timeouts, authentication and proxy information
// Memory quota on filters
// Size limits
// Retry intervales
// Number of robot threads
// Default location of catalogs
//
HRESULT GetParameter([in, string] LPCWSTR pszName, [out, retval] PROPVARIANT **ppValue);
HRESULT SetParameter([in, string] LPCWSTR pszName, [in] const PROPVARIANT *pValue);
//
// Name of proxy
//
[propget]
HRESULT ProxyName([out, retval, string] LPWSTR *ppszProxyName);
//
// Proxy bypass list
//
[propget]
HRESULT BypassList([out, retval, string] LPWSTR *ppszBypassList);
HRESULT SetProxy([in] PROXY_ACCESS sUseProxy,
[in] BOOL fLocalByPassProxy,
[in] DWORD dwPortNumber,
[in, string] LPCWSTR pszProxyName,
[in, string] LPCWSTR pszByPassList);
////////////////////////////////////////////////////////////////////////////
//
// Catalog management
//
// Access to catalog management functions is determined by the
// security associated with a particular catalog.
//
// ACCESS -- allows getting the catalog interface and information
// about the catalog.
//
// MANAGE -- allows changing the configuration of the catalog.
//
//
// Lookup a catalog by name
// Doing this will block until the catalog is ready. If you don't
// want to block, check for the ready event.
//
HRESULT GetCatalog([in, string] LPCWSTR pszCatalog,
[out, retval] ISearchCatalogManager **ppCatalogManager);
////////////////////////////////////////////////////////////////////////////
//
// Site access properties
//
// From here down is passed to protocol handler
//
//
// Browser agent like (Mozilla/4.0) -- search manager level
//
[propget]
HRESULT UserAgent([out, retval, string] LPWSTR *ppszUserAgent);
[propput]
HRESULT UserAgent([in, string] LPCWSTR pszUserAgent);
//
// What proxy to use
//
[propget]
HRESULT UseProxy([out, retval] PROXY_ACCESS *pUseProxy);
//
// Bypass proxy for local address
//
[propget]
HRESULT LocalBypass([out, retval] BOOL *pfLocalBypass);
//
// Port number to use
//
[propget]
HRESULT PortNumber([out, retval] DWORD *pdwPortNumber);
};