|
|
/************************************************************************
* * ITCC.H * * Copyright (c) Microsoft Corporation 1993 - 1997 * All rights reserved. * ************************************************************************* * * Module intent: * * This module contains the API (Application Programming Interface) * for creating and updating ITIR objects and storages * ************************************************************************* * * Current owner: JohnRush * ************************************************************************/
#ifndef _ITCC_H // {
#define _ITCC_H
#include "itpropl.h"
#include "itdb.h"
// Document property macros
#define STDPROP_UID 1
#define STDPROP_TITLE 2
#define STDPROP_USERDATA 3
#define STDPROP_KEY 4
#define STDPROP_SORTKEY 100
#define STDPROP_DISPLAYKEY 101
#define STDPROP_SORTORDINAL 102
#define STDPROP_INDEX_TEXT 200
#define STDPROP_INDEX_VFLD 201
#define STDPROP_INDEX_DTYPE 202
#define STDPROP_INDEX_LENGTH 203
#define STDPROP_INDEX_BREAK 204
#define STDPROP_INDEX_TERM 210
#define STDPROP_INDEX_TERM_RAW_LENGTH 211
#define STDPROP_USERPROP_BASE 0x00010000
#define STDPROP_USERPROP_MAX 0x7FFFFFFF
// Property destinations for word wheels
#define SZ_WWDEST_GLOBAL L"GLOBAL"
#define SZ_WWDEST_KEY L"KEY"
#define SZ_WWDEST_OCC L"OCC"
// {4662daa2-d393-11d0-9a56-00c04fb68bf7} (changed from IT 3.0)
DEFINE_GUID(CLSID_IITCmdInt, 0x4662daa2, 0xd393, 0x11d0, 0x9a, 0x56, 0x00, 0xc0, 0x4f, 0xb6, 0x8b, 0xf7);
// {4662daa3-d393-11d0-9a56-00c04fb68bf7} (changed from IT 3.0)
DEFINE_GUID(CLSID_IITSvMgr, 0x4662daa3, 0xd393, 0x11d0, 0x9a, 0x56, 0x00, 0xc0, 0x4f, 0xb6, 0x8b, 0xf7);
// {4CF34C30-9BF9-11d0-8764-00A0C913F764}
DEFINE_GUID(IID_IITCmdInt, 0x4cf34c30, 0x9bf9, 0x11d0, 0x87, 0x64, 0x0, 0xa0, 0xc9, 0x13, 0xf7, 0x64);
// {4E7DA031-9C11-11d0-8764-00A0C913F764}
DEFINE_GUID(IID_IITSvMgr, 0x4e7da031, 0x9c11, 0x11d0, 0x87, 0x64, 0x0, 0xa0, 0xc9, 0x13, 0xf7, 0x64);
// {4662daa5-d393-11d0-9a56-00c04fb68bf7} (changed from IT 3.0)
DEFINE_GUID(CLSID_IITWordWheelUpdate, 0x4662daa5, 0xd393, 0x11d0, 0x9a, 0x56, 0x00, 0xc0, 0x4f, 0xb6, 0x8b, 0xf7); // {8fa0d5a5-dedf-11d0-9a61-00c04fb68bf7} (changed from IT 3.0)
DEFINE_GUID(IID_IITBuildCollect, 0x8fa0d5a5, 0xdedf, 0x11d0, 0x9a, 0x61, 0x0, 0xc0, 0x4f, 0xb6, 0x8b, 0xf7);
// {4662daa4-d393-11d0-9a56-00c04fb68bf7} (changed from IT 3.0)
DEFINE_GUID(CLSID_IITGroupUpdate, 0x4662daa4, 0xd393, 0x11d0, 0x9a, 0x56, 0x00, 0xc0, 0x4f, 0xb6, 0x8b, 0xf7);
// {8fa0d5aa-dedf-11d0-9a61-00c04fb68bf7}
DEFINE_GUID(CLSID_IITIndexBuild, 0x8fa0d5aa, 0xdedf, 0x11d0, 0x9a, 0x61, 0x00, 0xc0, 0x4f, 0xb6, 0x8b, 0xf7);
// {8fa0d5ab-dedf-11d0-9a61-00c04fb68bf7}
DEFINE_GUID(CLSID_IITWWFilterBuild, 0x8fa0d5ab, 0xdedf, 0x11d0, 0x9a, 0x61, 0x00, 0xc0, 0x4f, 0xb6, 0x8b, 0xf7);
#pragma pack( push, SPECIAL_VARARG_1 )
#pragma pack(4)
struct VARARG { DWORD dwArgc; void *Argv[20]; }; #pragma pack( pop, SPECIAL_VARARG_1 )
// Document class
class CSvDoc { public: virtual HRESULT WINAPI ResetDocTemplate (void) PURE;
virtual HRESULT WINAPI AddObjectEntry(LPCWSTR lpObjName, IITPropList *pPL) PURE; virtual HRESULT WINAPI AddObjectEntry (LPCWSTR lpObjName, LPCWSTR szPropDest, IITPropList *pPL) PURE; };
// Service manager class
DECLARE_INTERFACE_(IITSvMgr, IUnknown) { STDMETHOD(Initiate)(IStorage *pistgStorage, IStream *piistmLog) PURE; STDMETHOD(Dispose)(void) PURE; STDMETHOD(Build)(void) PURE; STDMETHOD(SetPropDest) (LPCWSTR szObjectName, LPCWSTR szDestination, IITPropList *pPL) PURE; STDMETHOD(CreateBuildObject)(LPCWSTR pwstrObjectName, REFCLSID refclsid) PURE; STDMETHOD(GetBuildObject) (LPCWSTR pwstrObjectName, REFIID refiid, void **pInterface) PURE;
STDMETHOD(CreateDocTemplate)(CSvDoc **ppDoc) PURE; STDMETHOD(FreeDocTemplate)(CSvDoc *pDoc) PURE; STDMETHOD(AddDocument)(CSvDoc *pDoc) PURE;
STDMETHOD(HashString)(IN LPCWSTR lpwstr, OUT DWORD *pdwHash) PURE; };
// Command Interpreter Interface
DECLARE_INTERFACE_(IITCmdInt, IUnknown) { STDMETHOD(Initiate)(IITSvMgr *piitsv) PURE; STDMETHOD(Dispose)(void) PURE; STDMETHOD(LoadFromStream)(IStream *pMVPStream, IStream *pLogStream) PURE; };
typedef struct tagHelperInfo { UINT CodePage; LCID lcid; DWORD argc1; DWORD *argv1; DWORD argc2; LPWSTR *argv2; } HelperInfo, *PHelperInfo;
// This structure is sent to IITBuildCollect::SetBuildStats
typedef struct tagIITBOCI { DWORD dwSize; // Must be set to size of this structure
DWORD dwMaxUID; // The highest uid authored for this title
} ITBuildObjectControlInfo;
DECLARE_INTERFACE_(IITBuildCollect, IUnknown) { STDMETHOD(SetConfigInfo)(IITDatabase *piitdb, VARARG vaParams) PURE; STDMETHOD(InitHelperInstance)(DWORD dwHelperObjInstance, IITDatabase *pITDatabase, DWORD dwCodePage, LCID lcid, VARARG vaDword, VARARG vaString) PURE; STDMETHOD(SetEntry)(LPCWSTR szDest, IITPropList *pPropList) PURE; STDMETHOD(Close)(void) PURE; STDMETHOD(GetTypeString)(LPWSTR wstrType, DWORD *pLength) PURE; STDMETHOD(SetBuildStats)(ITBuildObjectControlInfo &itboci) PURE; };
#endif // _ITCC_H }
|