CertView.Idl
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:8k
源码类别:

模拟服务器

开发平台:

C/C++

  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. // ICertView::GetColumnCount and ICertView::GetColumnIndex values for
  47. // fResultColumn 
  48. const LONG CVRC_COLUMN_SCHEMA = 0x00000000; // Schema column info
  49. const LONG CVRC_COLUMN_RESULT = 0x00000001; // Result column info
  50. const LONG CVRC_COLUMN_VALUE = 0x00000002; // Value column info
  51. const LONG CVRC_COLUMN_MASK = 0x00000fff; // column info mask
  52. const LONG CVRC_TABLE_REQCERT   = 0x00000000; // default table request+cert
  53. //const LONG CVRC_TABLE_REQUEST   = 0x00001000;
  54. //const LONG CVRC_TABLE_CERTIFICATE = 0x00002000;
  55. const LONG CVRC_TABLE_EXTENSIONS  = 0x00003000; // Extensions table
  56. const LONG CVRC_TABLE_ATTRIBUTES  = 0x00004000; // Attributes table
  57. const LONG CVRC_TABLE_CRL   = 0x00005000; // CRL table
  58. const LONG CVRC_TABLE_MASK   = 0x0000f000; // Table mask
  59. const LONG CVRC_TABLE_SHIFT   = 12; // Table shift
  60. //+--------------------------------------------------------------------------
  61. // IEnumCERTVIEWCOLUMN class -- local COM interface
  62. //+--------------------------------------------------------------------------
  63. [
  64.     object,
  65.     uuid(9c735be2-57a5-11d1-9bdb-00c04fb683fa),
  66.     dual,
  67.     local,
  68.     helpstring("IEnumCERTVIEWCOLUMN Interface"),
  69.     pointer_default(unique)
  70. ]
  71. interface IEnumCERTVIEWCOLUMN: IDispatch
  72. {
  73.     import "oaidl.idl";
  74.     HRESULT Next(
  75. [out, retval] LONG *pIndex);
  76.     HRESULT GetName(
  77. [out, retval] BSTR *pstrOut);
  78.     HRESULT GetDisplayName(
  79. [out, retval] BSTR *pstrOut);
  80.     HRESULT GetType(
  81. [out, retval] LONG *pType);
  82.     HRESULT IsIndexed(
  83. [out, retval] LONG *pIndexed);
  84.     HRESULT GetMaxLength(
  85. [out, retval] LONG *pMaxLength);
  86.     HRESULT GetValue(
  87. [in] LONG Flags,
  88. [out, retval] VARIANT *pvarValue);
  89.     
  90.     HRESULT Skip(
  91. [in] LONG celt);
  92.     
  93.     HRESULT Reset(void);
  94.     
  95.     HRESULT Clone(
  96. [out, retval] IEnumCERTVIEWCOLUMN **ppenum);
  97. };
  98. //+--------------------------------------------------------------------------
  99. // IEnumCERTVIEWATTRIBUTE class -- local COM interface
  100. //+--------------------------------------------------------------------------
  101. [
  102.     object,
  103.     uuid(e77db656-7653-11d1-9bde-00c04fb683fa),
  104.     dual,
  105.     local,
  106.     helpstring("IEnumCERTVIEWATTRIBUTE Interface"),
  107.     pointer_default(unique)
  108. ]
  109. interface IEnumCERTVIEWATTRIBUTE: IDispatch
  110. {
  111.     import "oaidl.idl";
  112.     HRESULT Next(
  113. [out, retval] LONG *pIndex);
  114.     HRESULT GetName(
  115. [out, retval] BSTR *pstrOut);
  116.     HRESULT GetValue(
  117. [out, retval] BSTR *pstrOut);
  118.     
  119.     HRESULT Skip(
  120. [in] LONG celt);
  121.     
  122.     HRESULT Reset(void);
  123.     
  124.     HRESULT Clone(
  125. [out, retval] IEnumCERTVIEWATTRIBUTE **ppenum);
  126. };
  127. //+--------------------------------------------------------------------------
  128. // IEnumCERTVIEWEXTENSION class -- local COM interface
  129. //+--------------------------------------------------------------------------
  130. [
  131.     object,
  132.     uuid(e7dd1466-7653-11d1-9bde-00c04fb683fa),
  133.     dual,
  134.     local,
  135.     helpstring("IEnumCERTVIEWEXTENSION Interface"),
  136.     pointer_default(unique)
  137. ]
  138. interface IEnumCERTVIEWEXTENSION: IDispatch
  139. {
  140.     import "oaidl.idl";
  141.     HRESULT Next(
  142. [out, retval] LONG *pIndex);
  143.     HRESULT GetName(
  144. [out, retval] BSTR *pstrOut);
  145.     HRESULT GetFlags(
  146. [out, retval] LONG *pFlags);
  147.     HRESULT GetValue(
  148. [in] LONG Type,
  149. [in] LONG Flags,
  150. [out, retval] VARIANT *pvarValue);
  151.     
  152.     HRESULT Skip(
  153. [in] LONG celt);
  154.     
  155.     HRESULT Reset(void);
  156.     
  157.     HRESULT Clone(
  158. [out, retval] IEnumCERTVIEWEXTENSION **ppenum);
  159. };
  160. //+--------------------------------------------------------------------------
  161. // IEnumCERTVIEWROW class -- local COM interface
  162. //+--------------------------------------------------------------------------
  163. [
  164.     object,
  165.     uuid(d1157f4c-5af2-11d1-9bdc-00c04fb683fa),
  166.     dual,
  167.     local,
  168.     helpstring("IEnumCERTVIEWROW Interface"),
  169.     pointer_default(unique)
  170. ]
  171. interface IEnumCERTVIEWROW: IDispatch
  172. {
  173.     import "oaidl.idl";
  174.     HRESULT Next(
  175. [out, retval] LONG *pIndex);
  176.     HRESULT EnumCertViewColumn(
  177. [out, retval] IEnumCERTVIEWCOLUMN **ppenum);
  178.     
  179.     HRESULT EnumCertViewAttribute(
  180. [in] LONG Flags,
  181. [out, retval] IEnumCERTVIEWATTRIBUTE **ppenum);
  182.     
  183.     HRESULT EnumCertViewExtension(
  184. [in] LONG Flags,
  185. [out, retval] IEnumCERTVIEWEXTENSION **ppenum);
  186.     
  187.     HRESULT Skip(
  188. [in] LONG celt);
  189.     
  190.     HRESULT Reset(void);
  191.     
  192.     HRESULT Clone(
  193. [out, retval] IEnumCERTVIEWROW **ppenum);
  194.     HRESULT GetMaxIndex(
  195. [out, retval] LONG *pIndex);
  196. };
  197. //+--------------------------------------------------------------------------
  198. // ICertView class -- local COM interface, local implementation
  199. //+--------------------------------------------------------------------------
  200. [
  201.     object,
  202.     uuid(c3fac344-1e84-11d1-9bd6-00c04fb683fa),
  203.     dual,
  204.     local,
  205.     helpstring("ICertView Interface"),
  206.     pointer_default(unique)
  207. ]
  208. interface ICertView: IDispatch
  209. {
  210.     import "oaidl.idl";
  211.     HRESULT OpenConnection(
  212. [in] BSTR const strConfig);
  213.     HRESULT EnumCertViewColumn(
  214. [in]  LONG fResultColumn,
  215. [out, retval] IEnumCERTVIEWCOLUMN **ppenum);
  216.     HRESULT GetColumnCount(
  217. [in] LONG fResultColumn,
  218. [out, retval] LONG *pcColumn);
  219.     HRESULT GetColumnIndex(
  220. [in] LONG fResultColumn,
  221. [in] BSTR const strColumnName,
  222. [out, retval] LONG *pColumnIndex);
  223.     // Set output column count and columns by column index:
  224.     HRESULT SetResultColumnCount(
  225. [in] LONG cResultColumn);
  226.     HRESULT SetResultColumn(
  227. [in] LONG ColumnIndex);
  228.     // Set the view restriction:
  229.     HRESULT SetRestriction(
  230. [in] LONG ColumnIndex,
  231. [in] LONG SeekOperator,
  232. [in] LONG SortOrder,
  233. [in] VARIANT const *pvarValue);
  234.     // Open or reset the view:
  235.     HRESULT OpenView(
  236. [out, retval] IEnumCERTVIEWROW **ppenum);
  237. };