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.

71 lines
2.5 KiB

  1. // ITWW.H: IITWordWheel interface declaration
  2. #ifndef __ITWW_H__
  3. #define __ITWW_H__
  4. // {8fa0d5a4-dedf-11d0-9a61-00c04fb68bf7} (changed from IT 3.0)
  5. DEFINE_GUID(IID_IITWordWheel,
  6. 0x8fa0d5a4, 0xdedf, 0x11d0, 0x9a, 0x61, 0x00, 0xc0, 0x4f, 0xb6, 0x8b, 0xf7);
  7. #ifdef ITPROXY
  8. // {D73725C2-8C12-11d0-A84E-00AA006C7D01}
  9. DEFINE_GUID(CLSID_IITWordWheel,
  10. 0xd73725c2, 0x8c12, 0x11d0, 0xa8, 0x4e, 0x0, 0xaa, 0x0, 0x6c, 0x7d, 0x1);
  11. #else
  12. // {4662daa8-d393-11d0-9a56-00c04fb68bf7} (changed from IT 3.0)
  13. DEFINE_GUID(CLSID_IITWordWheelLocal,
  14. 0x4662daa8, 0xd393, 0x11d0, 0x9a, 0x56, 0x00, 0xc0, 0x4f, 0xb6, 0x8b, 0xf7);
  15. #endif // ITPROXY
  16. // Word-wheel open flags
  17. #define ITWW_OPEN_CONNECT 0x00000000 // connect to server on open (the default)
  18. #define ITWW_OPEN_NOCONNECT 0x00000001 // don't connect to server on open
  19. // Constants for IITWordWheel::Lookup.
  20. #define ITWW_CBKEY_MAX 1024 // Max size of keys allowed in Word Wheels.
  21. // Forward declarations
  22. interface IITDatabase;
  23. interface IITResultSet;
  24. interface IITGroup;
  25. interface IITPropList;
  26. interface IITQuery;
  27. DECLARE_INTERFACE_(IITWordWheel, IUnknown)
  28. {
  29. STDMETHOD(Open)(IITDatabase* lpITDB, LPCWSTR lpszMoniker, DWORD dwFlags=0) PURE;
  30. STDMETHOD(Close)(void) PURE;
  31. // Returns the code page ID and locale ID that the word wheel was built and
  32. // sorted with.
  33. STDMETHOD(GetLocaleInfo)(DWORD *pdwCodePageID, LCID *plcid) PURE;
  34. // Returns in *pdwObjInstance the ID of the external sort instance being used by
  35. // this word wheel. The instance ID can be passed to IITDatabase::GetObject to
  36. // to obtain an interface pointer on the instantiated instance. If the word
  37. // wheel doesn't use external sorting, then IITDB_OBJINST_NULL.
  38. STDMETHOD(GetSorterInstance)(DWORD *pdwObjInstance) PURE;
  39. STDMETHOD(Count)(LONG *pcEntries) PURE;
  40. // To be safe, the length of lpvKeyBuf should always be at least ITWW_CBKEY_MAX.
  41. STDMETHOD(Lookup)(LONG lEntry, LPVOID lpvKeyBuf, DWORD cbKeyBuf) PURE;
  42. STDMETHOD(Lookup)(LONG lEntry, IITResultSet* lpITResult, LONG cEntries) PURE;
  43. STDMETHOD(Lookup)(LPCVOID lpcvPrefix, BOOL fExactMatch, LONG *plEntry) PURE;
  44. STDMETHOD(SetGroup)(IITGroup* piitGroup) PURE;
  45. STDMETHOD(GetGroup)(IITGroup** ppiitGroup) PURE;
  46. STDMETHOD(GetDataCount)(LONG lEntry, DWORD *pdwCount) PURE;
  47. STDMETHOD(GetData)(LONG lEntry, IITResultSet* lpITResult) PURE;
  48. STDMETHOD(GetDataColumns)(IITResultSet* pRS) PURE;
  49. };
  50. typedef IITWordWheel* LPITWORDWHEEL;
  51. #endif // __ITWW_H__