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.

322 lines
8.6 KiB

  1. //+--------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. // Copyright (C) Microsoft Corporation, 1996 - 1999
  5. //
  6. // File: certview.idl
  7. //
  8. // Contents: IDL source for certview.dll
  9. //
  10. //---------------------------------------------------------------------------
  11. // This file will be processed by the MIDL tool to produce the type library
  12. // (certview.tlb) and marshalling code.
  13. import "wtypes.idl";
  14. //+--------------------------------------------------------------------------
  15. // ICertView::GetResultColumnValue Flags for value encoding:
  16. const LONG CV_OUT_BASE64HEADER = 0x00000000; // BASE64 with begin/end
  17. const LONG CV_OUT_BASE64 = 0x00000001; // BASE64 w/o begin/end
  18. const LONG CV_OUT_BINARY = 0x00000002; // binary
  19. const LONG CV_OUT_BASE64REQUESTHEADER = 0x00000003; // BASE64 with begin/end
  20. const LONG CV_OUT_HEX = 0x00000004; // hex string
  21. const LONG CV_OUT_HEXASCII = 0x00000005; // hex string w/Ascii
  22. const LONG CV_OUT_BASE64X509CRLHEADER = 0x00000009; // BASE64 with begin/end
  23. const LONG CV_OUT_HEXADDR = 0x0000000a; // hex string w/addr
  24. const LONG CV_OUT_HEXASCIIADDR = 0x0000000b; // hex string w/Ascii+addr
  25. const LONG CV_OUT_ENCODEMASK = 0x000000ff; // encoding mask
  26. // ICertView::SetRestriction SeekOperator values:
  27. const LONG CVR_SEEK_NONE = 0x00000000;
  28. const LONG CVR_SEEK_EQ = 0x00000001;
  29. const LONG CVR_SEEK_LT = 0x00000002;
  30. const LONG CVR_SEEK_LE = 0x00000004;
  31. const LONG CVR_SEEK_GE = 0x00000008;
  32. const LONG CVR_SEEK_GT = 0x00000010;
  33. const LONG CVR_SEEK_MASK = 0x000000ff;
  34. const LONG CVR_SEEK_NODELTA = 0x00001000;
  35. // ICertView::SetRestriction SortOperator values:
  36. const LONG CVR_SORT_NONE = 0x00000000;
  37. const LONG CVR_SORT_ASCEND = 0x00000001;
  38. const LONG CVR_SORT_DESCEND = 0x00000002;
  39. // ICertView::SetColumnCount cResultColumn values:
  40. const LONG CV_COLUMN_QUEUE_DEFAULT = -1;
  41. const LONG CV_COLUMN_LOG_DEFAULT = -2;
  42. const LONG CV_COLUMN_LOG_FAILED_DEFAULT = -3;
  43. const LONG CV_COLUMN_EXTENSION_DEFAULT = -4;
  44. const LONG CV_COLUMN_ATTRIBUTE_DEFAULT = -5;
  45. const LONG CV_COLUMN_CRL_DEFAULT = -6;
  46. const LONG CV_COLUMN_LOG_REVOKED_DEFAULT = -7;
  47. // ICertView::GetColumnCount and ICertView::GetColumnIndex values for
  48. // fResultColumn
  49. const LONG CVRC_COLUMN_SCHEMA = 0x00000000; // Schema column info
  50. const LONG CVRC_COLUMN_RESULT = 0x00000001; // Result column info
  51. const LONG CVRC_COLUMN_VALUE = 0x00000002; // Value column info
  52. const LONG CVRC_COLUMN_MASK = 0x00000fff; // column info mask
  53. const LONG CVRC_TABLE_REQCERT = 0x00000000; // default table request+cert
  54. //const LONG CVRC_TABLE_REQUEST = 0x00001000;
  55. //const LONG CVRC_TABLE_CERTIFICATE = 0x00002000;
  56. const LONG CVRC_TABLE_EXTENSIONS = 0x00003000; // Extensions table
  57. const LONG CVRC_TABLE_ATTRIBUTES = 0x00004000; // Attributes table
  58. const LONG CVRC_TABLE_CRL = 0x00005000; // CRL table
  59. const LONG CVRC_TABLE_MASK = 0x0000f000; // Table mask
  60. const LONG CVRC_TABLE_SHIFT = 12; // Table shift
  61. //+--------------------------------------------------------------------------
  62. // IEnumCERTVIEWCOLUMN -- local COM interface, implementation uses DCOM
  63. //+--------------------------------------------------------------------------
  64. [
  65. object,
  66. uuid(9c735be2-57a5-11d1-9bdb-00c04fb683fa),
  67. dual,
  68. local,
  69. helpstring("IEnumCERTVIEWCOLUMN Interface"),
  70. pointer_default(unique)
  71. ]
  72. interface IEnumCERTVIEWCOLUMN: IDispatch
  73. {
  74. import "oaidl.idl";
  75. HRESULT Next(
  76. [out, retval] LONG *pIndex);
  77. HRESULT GetName(
  78. [out, retval] BSTR *pstrOut);
  79. HRESULT GetDisplayName(
  80. [out, retval] BSTR *pstrOut);
  81. HRESULT GetType(
  82. [out, retval] LONG *pType);
  83. HRESULT IsIndexed(
  84. [out, retval] LONG *pIndexed);
  85. HRESULT GetMaxLength(
  86. [out, retval] LONG *pMaxLength);
  87. HRESULT GetValue(
  88. [in] LONG Flags, // CV_OUT_*
  89. [out, retval] VARIANT *pvarValue);
  90. HRESULT Skip(
  91. [in] LONG celt);
  92. HRESULT Reset(void);
  93. HRESULT Clone(
  94. [out, retval] IEnumCERTVIEWCOLUMN **ppenum);
  95. };
  96. //+--------------------------------------------------------------------------
  97. // IEnumCERTVIEWATTRIBUTE -- local COM interface, uses DCOM
  98. //+--------------------------------------------------------------------------
  99. [
  100. object,
  101. uuid(e77db656-7653-11d1-9bde-00c04fb683fa),
  102. dual,
  103. local,
  104. helpstring("IEnumCERTVIEWATTRIBUTE Interface"),
  105. pointer_default(unique)
  106. ]
  107. interface IEnumCERTVIEWATTRIBUTE: IDispatch
  108. {
  109. import "oaidl.idl";
  110. HRESULT Next(
  111. [out, retval] LONG *pIndex);
  112. HRESULT GetName(
  113. [out, retval] BSTR *pstrOut);
  114. HRESULT GetValue(
  115. [out, retval] BSTR *pstrOut);
  116. HRESULT Skip(
  117. [in] LONG celt);
  118. HRESULT Reset(void);
  119. HRESULT Clone(
  120. [out, retval] IEnumCERTVIEWATTRIBUTE **ppenum);
  121. };
  122. //+--------------------------------------------------------------------------
  123. // IEnumCERTVIEWEXTENSION -- local COM interface, uses DCOM
  124. //+--------------------------------------------------------------------------
  125. [
  126. object,
  127. uuid(e7dd1466-7653-11d1-9bde-00c04fb683fa),
  128. dual,
  129. local,
  130. helpstring("IEnumCERTVIEWEXTENSION Interface"),
  131. pointer_default(unique)
  132. ]
  133. interface IEnumCERTVIEWEXTENSION: IDispatch
  134. {
  135. import "oaidl.idl";
  136. HRESULT Next(
  137. [out, retval] LONG *pIndex);
  138. HRESULT GetName(
  139. [out, retval] BSTR *pstrOut);
  140. HRESULT GetFlags(
  141. [out, retval] LONG *pFlags);
  142. HRESULT GetValue(
  143. [in] LONG Type,
  144. [in] LONG Flags, // CV_OUT_*
  145. [out, retval] VARIANT *pvarValue);
  146. HRESULT Skip(
  147. [in] LONG celt);
  148. HRESULT Reset(void);
  149. HRESULT Clone(
  150. [out, retval] IEnumCERTVIEWEXTENSION **ppenum);
  151. };
  152. //+--------------------------------------------------------------------------
  153. // IEnumCERTVIEWROW -- local COM interface, implementation uses DCOM
  154. //+--------------------------------------------------------------------------
  155. [
  156. object,
  157. uuid(d1157f4c-5af2-11d1-9bdc-00c04fb683fa),
  158. dual,
  159. local,
  160. helpstring("IEnumCERTVIEWROW Interface"),
  161. pointer_default(unique)
  162. ]
  163. interface IEnumCERTVIEWROW: IDispatch
  164. {
  165. import "oaidl.idl";
  166. HRESULT Next(
  167. [out, retval] LONG *pIndex);
  168. HRESULT EnumCertViewColumn(
  169. [out, retval] IEnumCERTVIEWCOLUMN **ppenum);
  170. HRESULT EnumCertViewAttribute(
  171. [in] LONG Flags, // must be 0
  172. [out, retval] IEnumCERTVIEWATTRIBUTE **ppenum);
  173. HRESULT EnumCertViewExtension(
  174. [in] LONG Flags, // must be 0
  175. [out, retval] IEnumCERTVIEWEXTENSION **ppenum);
  176. HRESULT Skip(
  177. [in] LONG celt);
  178. HRESULT Reset(void);
  179. HRESULT Clone(
  180. [out, retval] IEnumCERTVIEWROW **ppenum);
  181. HRESULT GetMaxIndex(
  182. [out, retval] LONG *pIndex);
  183. };
  184. //+--------------------------------------------------------------------------
  185. // ICertView -- local COM interface, implementation uses DCOM
  186. //+--------------------------------------------------------------------------
  187. [
  188. object,
  189. uuid(c3fac344-1e84-11d1-9bd6-00c04fb683fa),
  190. dual,
  191. local,
  192. helpstring("ICertView Interface"),
  193. pointer_default(unique)
  194. ]
  195. interface ICertView: IDispatch
  196. {
  197. import "oaidl.idl";
  198. HRESULT OpenConnection(
  199. [in] BSTR const strConfig);
  200. HRESULT EnumCertViewColumn(
  201. [in] LONG fResultColumn, // CVRC_COLUMN_*
  202. [out, retval] IEnumCERTVIEWCOLUMN **ppenum);
  203. HRESULT GetColumnCount(
  204. [in] LONG fResultColumn, // CVRC_COLUMN_*
  205. [out, retval] LONG *pcColumn);
  206. HRESULT GetColumnIndex(
  207. [in] LONG fResultColumn, // CVRC_COLUMN_*
  208. [in] BSTR const strColumnName,
  209. [out, retval] LONG *pColumnIndex);
  210. // Set output column count and columns by column index:
  211. HRESULT SetResultColumnCount(
  212. [in] LONG cResultColumn);
  213. HRESULT SetResultColumn(
  214. [in] LONG ColumnIndex);
  215. // Set the view restriction:
  216. HRESULT SetRestriction(
  217. [in] LONG ColumnIndex,
  218. [in] LONG SeekOperator, // CVR_SEEK_*
  219. [in] LONG SortOrder, // CVR_SORT_*
  220. [in] VARIANT const *pvarValue);
  221. // Open or reset the view:
  222. HRESULT OpenView(
  223. [out, retval] IEnumCERTVIEWROW **ppenum);
  224. };
  225. //+--------------------------------------------------------------------------
  226. // ICertView2 -- local COM interface, implementation uses DCOM
  227. //+--------------------------------------------------------------------------
  228. [
  229. object,
  230. uuid(d594b282-8851-4b61-9c66-3edadf848863),
  231. dual,
  232. helpstring("ICertView2 Interface"),
  233. pointer_default(unique)
  234. ]
  235. interface ICertView2: ICertView
  236. {
  237. HRESULT SetTable(
  238. [in] LONG Table); // CVRC_TABLE_*
  239. };