Source code of Windows XP (NT5)
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.

164 lines
5.0 KiB

  1. /************************************************************************
  2. *
  3. * ITCC.H
  4. *
  5. * Copyright (c) Microsoft Corporation 1993 - 1997
  6. * All rights reserved.
  7. *
  8. *************************************************************************
  9. *
  10. * Module intent:
  11. *
  12. * This module contains the API (Application Programming Interface)
  13. * for creating and updating ITIR objects and storages
  14. *
  15. *************************************************************************
  16. *
  17. * Current owner: JohnRush
  18. *
  19. ************************************************************************/
  20. #ifndef _ITCC_H // {
  21. #define _ITCC_H
  22. #include "itpropl.h"
  23. #include "itdb.h"
  24. // Document property macros
  25. #define STDPROP_UID 1
  26. #define STDPROP_TITLE 2
  27. #define STDPROP_USERDATA 3
  28. #define STDPROP_KEY 4
  29. #define STDPROP_SORTKEY 100
  30. #define STDPROP_DISPLAYKEY 101
  31. #define STDPROP_SORTORDINAL 102
  32. #define STDPROP_INDEX_TEXT 200
  33. #define STDPROP_INDEX_VFLD 201
  34. #define STDPROP_INDEX_DTYPE 202
  35. #define STDPROP_INDEX_LENGTH 203
  36. #define STDPROP_INDEX_BREAK 204
  37. #define STDPROP_INDEX_TERM 210
  38. #define STDPROP_INDEX_TERM_RAW_LENGTH 211
  39. #define STDPROP_USERPROP_BASE 0x00010000
  40. #define STDPROP_USERPROP_MAX 0x7FFFFFFF
  41. // Property destinations for word wheels
  42. #define SZ_WWDEST_GLOBAL L"GLOBAL"
  43. #define SZ_WWDEST_KEY L"KEY"
  44. #define SZ_WWDEST_OCC L"OCC"
  45. // {4662daa2-d393-11d0-9a56-00c04fb68bf7} (changed from IT 3.0)
  46. DEFINE_GUID(CLSID_IITCmdInt,
  47. 0x4662daa2, 0xd393, 0x11d0, 0x9a, 0x56, 0x00, 0xc0, 0x4f, 0xb6, 0x8b, 0xf7);
  48. // {4662daa3-d393-11d0-9a56-00c04fb68bf7} (changed from IT 3.0)
  49. DEFINE_GUID(CLSID_IITSvMgr,
  50. 0x4662daa3, 0xd393, 0x11d0, 0x9a, 0x56, 0x00, 0xc0, 0x4f, 0xb6, 0x8b, 0xf7);
  51. // {4CF34C30-9BF9-11d0-8764-00A0C913F764}
  52. DEFINE_GUID(IID_IITCmdInt,
  53. 0x4cf34c30, 0x9bf9, 0x11d0, 0x87, 0x64, 0x0, 0xa0, 0xc9, 0x13, 0xf7, 0x64);
  54. // {4E7DA031-9C11-11d0-8764-00A0C913F764}
  55. DEFINE_GUID(IID_IITSvMgr,
  56. 0x4e7da031, 0x9c11, 0x11d0, 0x87, 0x64, 0x0, 0xa0, 0xc9, 0x13, 0xf7, 0x64);
  57. // {4662daa5-d393-11d0-9a56-00c04fb68bf7} (changed from IT 3.0)
  58. DEFINE_GUID(CLSID_IITWordWheelUpdate,
  59. 0x4662daa5, 0xd393, 0x11d0, 0x9a, 0x56, 0x00, 0xc0, 0x4f, 0xb6, 0x8b, 0xf7);
  60. // {8fa0d5a5-dedf-11d0-9a61-00c04fb68bf7} (changed from IT 3.0)
  61. DEFINE_GUID(IID_IITBuildCollect,
  62. 0x8fa0d5a5, 0xdedf, 0x11d0, 0x9a, 0x61, 0x0, 0xc0, 0x4f, 0xb6, 0x8b, 0xf7);
  63. // {4662daa4-d393-11d0-9a56-00c04fb68bf7} (changed from IT 3.0)
  64. DEFINE_GUID(CLSID_IITGroupUpdate,
  65. 0x4662daa4, 0xd393, 0x11d0, 0x9a, 0x56, 0x00, 0xc0, 0x4f, 0xb6, 0x8b, 0xf7);
  66. // {8fa0d5aa-dedf-11d0-9a61-00c04fb68bf7}
  67. DEFINE_GUID(CLSID_IITIndexBuild,
  68. 0x8fa0d5aa, 0xdedf, 0x11d0, 0x9a, 0x61, 0x00, 0xc0, 0x4f, 0xb6, 0x8b, 0xf7);
  69. // {8fa0d5ab-dedf-11d0-9a61-00c04fb68bf7}
  70. DEFINE_GUID(CLSID_IITWWFilterBuild,
  71. 0x8fa0d5ab, 0xdedf, 0x11d0, 0x9a, 0x61, 0x00, 0xc0, 0x4f, 0xb6, 0x8b, 0xf7);
  72. struct VARARG
  73. {
  74. DWORD dwArgc;
  75. void *Argv[20];
  76. };
  77. // Document class
  78. class CSvDoc
  79. {
  80. public:
  81. virtual HRESULT WINAPI ResetDocTemplate (void) PURE;
  82. virtual HRESULT WINAPI AddObjectEntry(LPCWSTR lpObjName, IITPropList *pPL) PURE;
  83. virtual HRESULT WINAPI AddObjectEntry
  84. (LPCWSTR lpObjName, LPCWSTR szPropDest, IITPropList *pPL) PURE;
  85. };
  86. // Service manager class
  87. DECLARE_INTERFACE_(IITSvMgr, IUnknown)
  88. {
  89. STDMETHOD(Initiate)(IStorage *pistgStorage, IStream *piistmLog) PURE;
  90. STDMETHOD(Dispose)(void) PURE;
  91. STDMETHOD(Build)(void) PURE;
  92. STDMETHOD(SetPropDest)
  93. (LPCWSTR szObjectName, LPCWSTR szDestination, IITPropList *pPL) PURE;
  94. STDMETHOD(CreateBuildObject)(LPCWSTR pwstrObjectName, REFCLSID refclsid) PURE;
  95. STDMETHOD(GetBuildObject)
  96. (LPCWSTR pwstrObjectName, REFIID refiid, void **pInterface) PURE;
  97. STDMETHOD(CreateDocTemplate)(CSvDoc **ppDoc) PURE;
  98. STDMETHOD(FreeDocTemplate)(CSvDoc *pDoc) PURE;
  99. STDMETHOD(AddDocument)(CSvDoc *pDoc) PURE;
  100. STDMETHOD(HashString)(IN LPCWSTR lpwstr, OUT DWORD *pdwHash) PURE;
  101. };
  102. // Command Interpreter Interface
  103. DECLARE_INTERFACE_(IITCmdInt, IUnknown)
  104. {
  105. STDMETHOD(Initiate)(IITSvMgr *piitsv) PURE;
  106. STDMETHOD(Dispose)(void) PURE;
  107. STDMETHOD(LoadFromStream)(IStream *pMVPStream, IStream *pLogStream) PURE;
  108. };
  109. typedef struct tagHelperInfo
  110. {
  111. UINT CodePage;
  112. LCID lcid;
  113. DWORD argc1;
  114. DWORD *argv1;
  115. DWORD argc2;
  116. LPWSTR *argv2;
  117. } HelperInfo, *PHelperInfo;
  118. // This structure is sent to IITBuildCollect::SetBuildStats
  119. typedef struct tagIITBOCI
  120. {
  121. DWORD dwSize; // Must be set to size of this structure
  122. DWORD dwMaxUID; // The highest uid authored for this title
  123. } ITBuildObjectControlInfo;
  124. DECLARE_INTERFACE_(IITBuildCollect, IUnknown)
  125. {
  126. STDMETHOD(SetConfigInfo)(IITDatabase *piitdb, VARARG vaParams) PURE;
  127. STDMETHOD(InitHelperInstance)(DWORD dwHelperObjInstance,
  128. IITDatabase *pITDatabase, DWORD dwCodePage,
  129. LCID lcid, VARARG vaDword, VARARG vaString) PURE;
  130. STDMETHOD(SetEntry)(LPCWSTR szDest, IITPropList *pPropList) PURE;
  131. STDMETHOD(Close)(void) PURE;
  132. STDMETHOD(GetTypeString)(LPWSTR wstrType, DWORD *pLength) PURE;
  133. STDMETHOD(SetBuildStats)(ITBuildObjectControlInfo &itboci) PURE;
  134. };
  135. #endif // _ITCC_H }