Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

107 lines
3.9 KiB

//+-------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 1997 - 1998
//
// File: colschem.idl
//
// Contents: Column schema definitions
//
// History: Aug-18-1997 AlanPe Created
//
//--------------------------------------------------------------------------
//+-------------------------------------------------------------------------
//
// Interface : ISimpleCommandCreator
//
// Description : A CI provided interface that exposes ICommand for CI.
//
//+-------------------------------------------------------------------------
interface ICommand;
LOCAL_INTERFACE(5e341ab7-02d0-11d1-900c-00a0c9063796)
interface ISimpleCommandCreator : IUnknown
{
HRESULT CreateICommand( IUnknown ** ppIUnknown, IUnknown * pOuterUnk );
HRESULT VerifyCatalog( WCHAR const * pwszMachine, WCHAR const * pwszCatalogName );
HRESULT GetDefaultCatalog( WCHAR * pwszCatalogName, ULONG cwcIn, ULONG * pcwcOut );
}
//+-------------------------------------------------------------------------
//
// ClassId : CLSID_CISimpleCommandCreator
//
// Description : ClassId of the simple command creator implemented by CI.
//
//+-------------------------------------------------------------------------
// C7B6C04A-CBB5-11d0-BB4C-00C04FC2F410
cpp_quote("#define CLSID_CISimpleCommandCreator {0xc7b6c04a, 0xcbb5, 0x11d0, {0xbb, 0x4c, 0x0, 0xc0, 0x4f, 0xc2, 0xf4, 0x10 } }")
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 );
};