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

  1. //+-------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. // Copyright (C) Microsoft Corporation, 1997 - 1998
  5. //
  6. // File: colschem.idl
  7. //
  8. // Contents: Column schema definitions
  9. //
  10. // History: Aug-18-1997 AlanPe Created
  11. //
  12. //--------------------------------------------------------------------------
  13. //+-------------------------------------------------------------------------
  14. //
  15. // Interface : ISimpleCommandCreator
  16. //
  17. // Description : A CI provided interface that exposes ICommand for CI.
  18. //
  19. //+-------------------------------------------------------------------------
  20. interface ICommand;
  21. LOCAL_INTERFACE(5e341ab7-02d0-11d1-900c-00a0c9063796)
  22. interface ISimpleCommandCreator : IUnknown
  23. {
  24. HRESULT CreateICommand( IUnknown ** ppIUnknown, IUnknown * pOuterUnk );
  25. HRESULT VerifyCatalog( WCHAR const * pwszMachine, WCHAR const * pwszCatalogName );
  26. HRESULT GetDefaultCatalog( WCHAR * pwszCatalogName, ULONG cwcIn, ULONG * pcwcOut );
  27. }
  28. //+-------------------------------------------------------------------------
  29. //
  30. // ClassId : CLSID_CISimpleCommandCreator
  31. //
  32. // Description : ClassId of the simple command creator implemented by CI.
  33. //
  34. //+-------------------------------------------------------------------------
  35. // C7B6C04A-CBB5-11d0-BB4C-00C04FC2F410
  36. cpp_quote("#define CLSID_CISimpleCommandCreator {0xc7b6c04a, 0xcbb5, 0x11d0, {0xbb, 0x4c, 0x0, 0xc0, 0x4f, 0xc2, 0xf4, 0x10 } }")
  37. typedef struct tagDBID DBID;
  38. typedef WORD DBTYPE;
  39. //+-------------------------------------------------------------------------
  40. //
  41. // Interface : IColumnMapper
  42. //
  43. // Description : A CI provided interface that exposes mappings for global
  44. // column friendly names to DBIDs
  45. //
  46. //+-------------------------------------------------------------------------
  47. LOCAL_INTERFACE(0b63e37a-9ccc-11d0-bcdb-00805fccce04)
  48. interface IColumnMapper : IUnknown
  49. {
  50. HRESULT GetPropInfoFromName( [in, string] WCHAR const * wcsPropName,
  51. [out] DBID ** ppPropId,
  52. [out] DBTYPE * pPropType,
  53. [out] unsigned int * puiWidth );
  54. HRESULT GetPropInfoFromId( [in] DBID const * pPropId,
  55. [out] WCHAR ** pwcsName,
  56. [out] DBTYPE * pPropType,
  57. [out] unsigned int * puiWidth );
  58. HRESULT EnumPropInfo( [in] ULONG iEntry,
  59. [out] WCHAR const ** pwcsName,
  60. [out] DBID ** ppPropId,
  61. [out] DBTYPE * pPropType,
  62. [out] unsigned int * puiWidth );
  63. HRESULT IsMapUpToDate();
  64. };
  65. const WCHAR * LOCAL_MACHINE = L".";
  66. const WCHAR * SYSTEM_DEFAULT_CAT = L"__SystemDefault__";
  67. const WCHAR * INDEX_SERVER_DEFAULT_CAT = L"__IndexServerDefault__";
  68. //+-------------------------------------------------------------------------
  69. //
  70. // Interface : IColumnMapperCreator
  71. //
  72. // Description : A CI provided interface that exposes IColumnMapper for a
  73. // particular catalog on a specified machine.
  74. //
  75. // Notes : Use SYSTEM_DEFAULT_CAT as the catalog name to get at the static
  76. // list of default properties.
  77. // Use INDEX_SERVER_DEFAULT_CAT as the catalog name to get at the
  78. // default properties as specified by the property file in the
  79. // ContentIndex registry.
  80. //
  81. //+-------------------------------------------------------------------------
  82. LOCAL_INTERFACE(0b63e37b-9ccc-11d0-bcdb-00805fccce04)
  83. interface IColumnMapperCreator : IUnknown
  84. {
  85. HRESULT GetColumnMapper( [in, string] WCHAR const * wcsMachineName,
  86. [in, string] WCHAR const * wcsCatalogName,
  87. [out] IColumnMapper ** ppColumnMapper );
  88. };