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.

183 lines
5.0 KiB

  1. //+------------------------------------------------------------
  2. //
  3. // Copyright (C) 1999, Microsoft Corporation
  4. //
  5. // File: catintrnl.idl
  6. //
  7. // Contents: Declaration of interfaces used internally in the
  8. // categorizer
  9. //
  10. // Classes: None
  11. //
  12. // Functions: None
  13. //
  14. // History:
  15. // jstamerj 1999/07/21 15:14:54: Created.
  16. //
  17. //-------------------------------------------------------------
  18. import "oaidl.idl";
  19. import "ocidl.idl";
  20. import "smtpevent.idl";
  21. interface IPhatCategorizerRequestedAttributes;
  22. interface ICategorizerLdapConfigInfo;
  23. interface IServersList;
  24. //+------------------------------------------------------------
  25. //
  26. // Interface: IPhatCategorizerParameters
  27. //
  28. // Synopsis: ICategorizerParameters plus new methods to retrieve
  29. // requested attributes, register an interface which may be called
  30. // to get the list of GCs from dsaccess. Also a "Get" function for
  31. // the aforementioned interface.
  32. //
  33. // History:
  34. // jstamerj 1999/07/08 14:24:56: Created
  35. //
  36. //-------------------------------------------------------------
  37. [
  38. object,
  39. local,
  40. uuid(E962BA1F-3FB9-11d3-80D7-00C04FA322BA),
  41. helpstring("IPhatCategorizerParameters Interface"),
  42. pointer_default(unique)
  43. ]
  44. interface IPhatCategorizerParameters : ICategorizerParameters
  45. {
  46. HRESULT GetDSParameterW(
  47. [in] DWORD dwDSParameter,
  48. [out] LPWSTR *ppszValue);
  49. HRESULT GetRequestedAttributes(
  50. [out] IPhatCategorizerRequestedAttributes **ppIRequestedAttributes);
  51. HRESULT RegisterCatLdapConfigInterface(
  52. [out] ICategorizerLdapConfigInfo *pICategorizerLdapConfig);
  53. HRESULT GetLdapConfigInterface(
  54. [out] ICategorizerLdapConfigInfo **ppICatLdapConfigInfo);
  55. };
  56. //+------------------------------------------------------------
  57. //
  58. // Interface: IPhatCategorizerRequestedAttributes
  59. //
  60. // Synopsis: Contains a read-only method to retrieve all the requested
  61. // attributes
  62. //
  63. // History:
  64. // jstamerj 1999/07/08 14:24:56: Created
  65. //
  66. //-------------------------------------------------------------
  67. [
  68. object,
  69. local,
  70. uuid(CB0924E0-357B-11d3-8328-00C04FA322BA),
  71. helpstring("IPhatCategorizerRequestedAttributes Interface"),
  72. pointer_default(unique)
  73. ]
  74. interface IPhatCategorizerRequestedAttributes : IUnknown
  75. {
  76. HRESULT GetAllAttributes(
  77. [out] LPSTR **prgszAllAttributes);
  78. HRESULT GetAllAttributesW(
  79. [out] LPWSTR **prgszAllAttributes);
  80. };
  81. //+------------------------------------------------------------
  82. //
  83. // Interface: IPhatCategorizerUTF8Attributes
  84. //
  85. // Synopsis: Methods to retrieve attributes as UTF8 strings
  86. //
  87. // History:
  88. // jstamerj 1999/07/08 14:24:56: Created
  89. //
  90. //-------------------------------------------------------------
  91. [
  92. object,
  93. local,
  94. uuid(BEBF931D-17E0-4ec8-BC1C-CC3286D72CB7),
  95. helpstring("IPhatCategorizerUTF8Attributes Interface"),
  96. pointer_default(unique)
  97. ]
  98. interface IPhatCategorizerUTF8Attributes : IUnknown
  99. {
  100. [local] HRESULT BeginUTF8AttributeEnumeration(
  101. [in, unique] LPCSTR pszAttributeName,
  102. [in] PATTRIBUTE_ENUMERATOR penumerator);
  103. [local] HRESULT GetNextUTF8AttributeValue(
  104. [in] PATTRIBUTE_ENUMERATOR penumerator,
  105. [out] LPSTR *ppszAttributeValue);
  106. [local] HRESULT RewindUTF8AttributeEnumeration(
  107. [in] PATTRIBUTE_ENUMERATOR penumerator);
  108. [local] HRESULT EndUTF8AttributeEnumeration(
  109. [in] PATTRIBUTE_ENUMERATOR penumerator);
  110. [local] HRESULT CountUTF8AttributeValues(
  111. [in] PATTRIBUTE_ENUMERATOR penumerator,
  112. [out] DWORD *pdwCount);
  113. };
  114. //+------------------------------------------------------------
  115. //
  116. // Interface: ICategorizerLdapConfigInfo
  117. //
  118. // Synopsis: Contains a function that may be queried for the GCs
  119. // on the machine as discovered by dsaccess (or as read from the
  120. // registry by dsaccess).
  121. //
  122. // History:
  123. // gpulla created
  124. //
  125. //-------------------------------------------------------------
  126. [
  127. object,
  128. local,
  129. uuid(27C1B2D3-1A28-4b90-BC0A-E52057D30712),
  130. helpstring("ICategorizerLdapConfigInfo Interface"),
  131. pointer_default(unique)
  132. ]
  133. interface ICategorizerLdapConfigInfo : IUnknown
  134. {
  135. HRESULT GetGCServers(
  136. [out] IServersList **pIServersList);
  137. };
  138. //+------------------------------------------------------------
  139. //
  140. // Interface: IServersList
  141. //
  142. // Synopsis: Interface to an object encapsulating the list of
  143. // GCs described above. Functions allow querying the number of
  144. // GCs and enumerating through the GCs.
  145. //
  146. // History:
  147. // gpulla created
  148. //
  149. //-------------------------------------------------------------
  150. [
  151. object,
  152. local,
  153. uuid(C54CEA94-E501-4f34-8704-F5881EA5CBF4),
  154. helpstring("ICategorizerLdapConfigInfo Interface"),
  155. pointer_default(unique)
  156. ]
  157. interface IServersList : IUnknown
  158. {
  159. HRESULT GetNumGC(
  160. [out] DWORD *dwGC);
  161. HRESULT GetItem(
  162. [in] DWORD dwIdx,
  163. [out] DWORD *dwPort,
  164. [out] LPSTR *pszServerName);
  165. };