windows-nt/Source/XPSP1/NT/inetsrv/published/query/colschem.idl
2020-09-26 16:20:57 +08:00

78 lines
2.7 KiB
Plaintext

//+-------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 1997 - 1998
//
// File: colschem.idl
//
// Contents: Column schema definitions
//
// History: Aug-18-1997 AlanPe Created
//
//--------------------------------------------------------------------------
typedef struct tagDBID DBID;
typedef WORD DBTYPE;
//+-------------------------------------------------------------------------
//
// Interface : IColumnMapper
//
// Description : A CI provided interface that exposes mappings for global
// column friendly names to DBIDs
//
//+-------------------------------------------------------------------------
LOCAL_INTERFACE(0b63e37a-9ccc-11d0-bcdb-00805fccce04)
interface IColumnMapper : IUnknown
{
HRESULT GetPropInfoFromName( [in, string] WCHAR const * wcsPropName,
[out] DBID ** ppPropId,
[out] DBTYPE * pPropType,
[out] unsigned int * puiWidth );
HRESULT GetPropInfoFromId( [in] DBID const * pPropId,
[out] WCHAR ** pwcsName,
[out] DBTYPE * pPropType,
[out] unsigned int * puiWidth );
HRESULT EnumPropInfo( [in] ULONG iEntry,
[out] WCHAR const ** pwcsName,
[out] DBID ** ppPropId,
[out] DBTYPE * pPropType,
[out] unsigned int * puiWidth );
HRESULT IsMapUpToDate();
};
const WCHAR * LOCAL_MACHINE = L".";
const WCHAR * SYSTEM_DEFAULT_CAT = L"__SystemDefault__";
const WCHAR * INDEX_SERVER_DEFAULT_CAT = L"__IndexServerDefault__";
//+-------------------------------------------------------------------------
//
// Interface : IColumnMapperCreator
//
// Description : A CI provided interface that exposes IColumnMapper for a
// particular catalog on a specified machine.
//
// Notes : Use SYSTEM_DEFAULT_CAT as the catalog name to get at the static
// list of default properties.
// Use INDEX_SERVER_DEFAULT_CAT as the catalog name to get at the
// default properties as specified by the property file in the
// ContentIndex registry.
//
//+-------------------------------------------------------------------------
LOCAL_INTERFACE(0b63e37b-9ccc-11d0-bcdb-00805fccce04)
interface IColumnMapperCreator : IUnknown
{
HRESULT GetColumnMapper( [in, string] WCHAR const * wcsMachineName,
[in, string] WCHAR const * wcsCatalogName,
[out] IColumnMapper ** ppColumnMapper );
};