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

模拟服务器

开发平台:

C/C++

  1. #pragma warning( disable: 4049 )  /* more than 64k source lines */
  2. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  3.  /* File created by MIDL compiler version 6.00.0347 */
  4. /* Compiler settings for xenroll.idl:
  5.     Oicf, W1, Zp8, env=Win32 (32b run)
  6.     protocol : dce , ms_ext, c_ext, robust
  7.     error checks: allocation ref bounds_check enum stub_data 
  8.     VC __declspec() decoration level: 
  9.          __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  10.          DECLSPEC_UUID(), MIDL_INTERFACE()
  11. */
  12. //@@MIDL_FILE_HEADING(  )
  13. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  14. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  15. #define __REQUIRED_RPCNDR_H_VERSION__ 475
  16. #endif
  17. #include "rpc.h"
  18. #include "rpcndr.h"
  19. #ifndef __RPCNDR_H_VERSION__
  20. #error this stub requires an updated version of <rpcndr.h>
  21. #endif // __RPCNDR_H_VERSION__
  22. #ifndef COM_NO_WINDOWS_H
  23. #include "windows.h"
  24. #include "ole2.h"
  25. #endif /*COM_NO_WINDOWS_H*/
  26. #ifndef __xenroll_h__
  27. #define __xenroll_h__
  28. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  29. #pragma once
  30. #endif
  31. /* Forward Declarations */ 
  32. #ifndef __ICEnroll_FWD_DEFINED__
  33. #define __ICEnroll_FWD_DEFINED__
  34. typedef interface ICEnroll ICEnroll;
  35. #endif  /* __ICEnroll_FWD_DEFINED__ */
  36. #ifndef __ICEnroll2_FWD_DEFINED__
  37. #define __ICEnroll2_FWD_DEFINED__
  38. typedef interface ICEnroll2 ICEnroll2;
  39. #endif  /* __ICEnroll2_FWD_DEFINED__ */
  40. #ifndef __ICEnroll3_FWD_DEFINED__
  41. #define __ICEnroll3_FWD_DEFINED__
  42. typedef interface ICEnroll3 ICEnroll3;
  43. #endif  /* __ICEnroll3_FWD_DEFINED__ */
  44. #ifndef __ICEnroll4_FWD_DEFINED__
  45. #define __ICEnroll4_FWD_DEFINED__
  46. typedef interface ICEnroll4 ICEnroll4;
  47. #endif  /* __ICEnroll4_FWD_DEFINED__ */
  48. #ifndef __IEnroll_FWD_DEFINED__
  49. #define __IEnroll_FWD_DEFINED__
  50. typedef interface IEnroll IEnroll;
  51. #endif  /* __IEnroll_FWD_DEFINED__ */
  52. #ifndef __IEnroll2_FWD_DEFINED__
  53. #define __IEnroll2_FWD_DEFINED__
  54. typedef interface IEnroll2 IEnroll2;
  55. #endif  /* __IEnroll2_FWD_DEFINED__ */
  56. #ifndef __IEnroll4_FWD_DEFINED__
  57. #define __IEnroll4_FWD_DEFINED__
  58. typedef interface IEnroll4 IEnroll4;
  59. #endif  /* __IEnroll4_FWD_DEFINED__ */
  60. #ifndef __CEnroll_FWD_DEFINED__
  61. #define __CEnroll_FWD_DEFINED__
  62. #ifdef __cplusplus
  63. typedef class CEnroll CEnroll;
  64. #else
  65. typedef struct CEnroll CEnroll;
  66. #endif /* __cplusplus */
  67. #endif  /* __CEnroll_FWD_DEFINED__ */
  68. /* header files for imported files */
  69. #include "oaidl.h"
  70. #include "ocidl.h"
  71. #include "wincrypt.h"
  72. #ifdef __cplusplus
  73. extern "C"{
  74. #endif 
  75. void * __RPC_USER MIDL_user_allocate(size_t);
  76. void __RPC_USER MIDL_user_free( void * ); 
  77. #ifndef __ICEnroll_INTERFACE_DEFINED__
  78. #define __ICEnroll_INTERFACE_DEFINED__
  79. /* interface ICEnroll */
  80. /* [unique][helpstring][dual][uuid][object] */ 
  81. EXTERN_C const IID IID_ICEnroll;
  82. #if defined(__cplusplus) && !defined(CINTERFACE)
  83.     
  84.     MIDL_INTERFACE("43F8F288-7A20-11D0-8F06-00C04FC295E1")
  85.     ICEnroll : public IDispatch
  86.     {
  87.     public:
  88.         virtual HRESULT STDMETHODCALLTYPE createFilePKCS10( 
  89.             /* [in] */ BSTR DNName,
  90.             /* [in] */ BSTR Usage,
  91.             /* [in] */ BSTR wszPKCS10FileName) = 0;
  92.         
  93.         virtual HRESULT STDMETHODCALLTYPE acceptFilePKCS7( 
  94.             /* [in] */ BSTR wszPKCS7FileName) = 0;
  95.         
  96.         virtual HRESULT STDMETHODCALLTYPE createPKCS10( 
  97.             /* [in] */ BSTR DNName,
  98.             /* [in] */ BSTR Usage,
  99.             /* [retval][out] */ BSTR *pPKCS10) = 0;
  100.         
  101.         virtual HRESULT STDMETHODCALLTYPE acceptPKCS7( 
  102.             /* [in] */ BSTR PKCS7) = 0;
  103.         
  104.         virtual HRESULT STDMETHODCALLTYPE getCertFromPKCS7( 
  105.             /* [in] */ BSTR wszPKCS7,
  106.             /* [retval][out] */ BSTR *pbstrCert) = 0;
  107.         
  108.         virtual HRESULT STDMETHODCALLTYPE enumProviders( 
  109.             /* [in] */ LONG dwIndex,
  110.             /* [in] */ LONG dwFlags,
  111.             /* [retval][out] */ BSTR *pbstrProvName) = 0;
  112.         
  113.         virtual HRESULT STDMETHODCALLTYPE enumContainers( 
  114.             /* [in] */ LONG dwIndex,
  115.             /* [retval][out] */ BSTR *pbstr) = 0;
  116.         
  117.         virtual HRESULT STDMETHODCALLTYPE freeRequestInfo( 
  118.             /* [in] */ BSTR PKCS7OrPKCS10) = 0;
  119.         
  120.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MyStoreName( 
  121.             /* [retval][out] */ BSTR *pbstrName) = 0;
  122.         
  123.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_MyStoreName( 
  124.             /* [in] */ BSTR bstrName) = 0;
  125.         
  126.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MyStoreType( 
  127.             /* [retval][out] */ BSTR *pbstrType) = 0;
  128.         
  129.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_MyStoreType( 
  130.             /* [in] */ BSTR bstrType) = 0;
  131.         
  132.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MyStoreFlags( 
  133.             /* [retval][out] */ LONG *pdwFlags) = 0;
  134.         
  135.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_MyStoreFlags( 
  136.             /* [in] */ LONG dwFlags) = 0;
  137.         
  138.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_CAStoreName( 
  139.             /* [retval][out] */ BSTR *pbstrName) = 0;
  140.         
  141.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_CAStoreName( 
  142.             /* [in] */ BSTR bstrName) = 0;
  143.         
  144.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_CAStoreType( 
  145.             /* [retval][out] */ BSTR *pbstrType) = 0;
  146.         
  147.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_CAStoreType( 
  148.             /* [in] */ BSTR bstrType) = 0;
  149.         
  150.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_CAStoreFlags( 
  151.             /* [retval][out] */ LONG *pdwFlags) = 0;
  152.         
  153.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_CAStoreFlags( 
  154.             /* [in] */ LONG dwFlags) = 0;
  155.         
  156.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RootStoreName( 
  157.             /* [retval][out] */ BSTR *pbstrName) = 0;
  158.         
  159.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_RootStoreName( 
  160.             /* [in] */ BSTR bstrName) = 0;
  161.         
  162.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RootStoreType( 
  163.             /* [retval][out] */ BSTR *pbstrType) = 0;
  164.         
  165.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_RootStoreType( 
  166.             /* [in] */ BSTR bstrType) = 0;
  167.         
  168.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RootStoreFlags( 
  169.             /* [retval][out] */ LONG *pdwFlags) = 0;
  170.         
  171.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_RootStoreFlags( 
  172.             /* [in] */ LONG dwFlags) = 0;
  173.         
  174.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RequestStoreName( 
  175.             /* [retval][out] */ BSTR *pbstrName) = 0;
  176.         
  177.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_RequestStoreName( 
  178.             /* [in] */ BSTR bstrName) = 0;
  179.         
  180.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RequestStoreType( 
  181.             /* [retval][out] */ BSTR *pbstrType) = 0;
  182.         
  183.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_RequestStoreType( 
  184.             /* [in] */ BSTR bstrType) = 0;
  185.         
  186.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RequestStoreFlags( 
  187.             /* [retval][out] */ LONG *pdwFlags) = 0;
  188.         
  189.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_RequestStoreFlags( 
  190.             /* [in] */ LONG dwFlags) = 0;
  191.         
  192.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ContainerName( 
  193.             /* [retval][out] */ BSTR *pbstrContainer) = 0;
  194.         
  195.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ContainerName( 
  196.             /* [in] */ BSTR bstrContainer) = 0;
  197.         
  198.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ProviderName( 
  199.             /* [retval][out] */ BSTR *pbstrProvider) = 0;
  200.         
  201.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ProviderName( 
  202.             /* [in] */ BSTR bstrProvider) = 0;
  203.         
  204.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ProviderType( 
  205.             /* [retval][out] */ LONG *pdwType) = 0;
  206.         
  207.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ProviderType( 
  208.             /* [in] */ LONG dwType) = 0;
  209.         
  210.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_KeySpec( 
  211.             /* [retval][out] */ LONG *pdw) = 0;
  212.         
  213.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_KeySpec( 
  214.             /* [in] */ LONG dw) = 0;
  215.         
  216.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ProviderFlags( 
  217.             /* [retval][out] */ LONG *pdwFlags) = 0;
  218.         
  219.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ProviderFlags( 
  220.             /* [in] */ LONG dwFlags) = 0;
  221.         
  222.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_UseExistingKeySet( 
  223.             /* [retval][out] */ BOOL *fUseExistingKeys) = 0;
  224.         
  225.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_UseExistingKeySet( 
  226.             /* [in] */ BOOL fUseExistingKeys) = 0;
  227.         
  228.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_GenKeyFlags( 
  229.             /* [retval][out] */ LONG *pdwFlags) = 0;
  230.         
  231.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_GenKeyFlags( 
  232.             /* [in] */ LONG dwFlags) = 0;
  233.         
  234.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DeleteRequestCert( 
  235.             /* [retval][out] */ BOOL *fDelete) = 0;
  236.         
  237.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DeleteRequestCert( 
  238.             /* [in] */ BOOL fDelete) = 0;
  239.         
  240.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_WriteCertToCSP( 
  241.             /* [retval][out] */ BOOL *fBool) = 0;
  242.         
  243.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_WriteCertToCSP( 
  244.             /* [in] */ BOOL fBool) = 0;
  245.         
  246.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SPCFileName( 
  247.             /* [retval][out] */ BSTR *pbstr) = 0;
  248.         
  249.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_SPCFileName( 
  250.             /* [in] */ BSTR bstr) = 0;
  251.         
  252.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PVKFileName( 
  253.             /* [retval][out] */ BSTR *pbstr) = 0;
  254.         
  255.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_PVKFileName( 
  256.             /* [in] */ BSTR bstr) = 0;
  257.         
  258.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HashAlgorithm( 
  259.             /* [retval][out] */ BSTR *pbstr) = 0;
  260.         
  261.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_HashAlgorithm( 
  262.             /* [in] */ BSTR bstr) = 0;
  263.         
  264.     };
  265.     
  266. #else  /* C style interface */
  267.     typedef struct ICEnrollVtbl
  268.     {
  269.         BEGIN_INTERFACE
  270.         
  271.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  272.             ICEnroll * This,
  273.             /* [in] */ REFIID riid,
  274.             /* [iid_is][out] */ void **ppvObject);
  275.         
  276.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  277.             ICEnroll * This);
  278.         
  279.         ULONG ( STDMETHODCALLTYPE *Release )( 
  280.             ICEnroll * This);
  281.         
  282.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  283.             ICEnroll * This,
  284.             /* [out] */ UINT *pctinfo);
  285.         
  286.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  287.             ICEnroll * This,
  288.             /* [in] */ UINT iTInfo,
  289.             /* [in] */ LCID lcid,
  290.             /* [out] */ ITypeInfo **ppTInfo);
  291.         
  292.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  293.             ICEnroll * This,
  294.             /* [in] */ REFIID riid,
  295.             /* [size_is][in] */ LPOLESTR *rgszNames,
  296.             /* [in] */ UINT cNames,
  297.             /* [in] */ LCID lcid,
  298.             /* [size_is][out] */ DISPID *rgDispId);
  299.         
  300.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  301.             ICEnroll * This,
  302.             /* [in] */ DISPID dispIdMember,
  303.             /* [in] */ REFIID riid,
  304.             /* [in] */ LCID lcid,
  305.             /* [in] */ WORD wFlags,
  306.             /* [out][in] */ DISPPARAMS *pDispParams,
  307.             /* [out] */ VARIANT *pVarResult,
  308.             /* [out] */ EXCEPINFO *pExcepInfo,
  309.             /* [out] */ UINT *puArgErr);
  310.         
  311.         HRESULT ( STDMETHODCALLTYPE *createFilePKCS10 )( 
  312.             ICEnroll * This,
  313.             /* [in] */ BSTR DNName,
  314.             /* [in] */ BSTR Usage,
  315.             /* [in] */ BSTR wszPKCS10FileName);
  316.         
  317.         HRESULT ( STDMETHODCALLTYPE *acceptFilePKCS7 )( 
  318.             ICEnroll * This,
  319.             /* [in] */ BSTR wszPKCS7FileName);
  320.         
  321.         HRESULT ( STDMETHODCALLTYPE *createPKCS10 )( 
  322.             ICEnroll * This,
  323.             /* [in] */ BSTR DNName,
  324.             /* [in] */ BSTR Usage,
  325.             /* [retval][out] */ BSTR *pPKCS10);
  326.         
  327.         HRESULT ( STDMETHODCALLTYPE *acceptPKCS7 )( 
  328.             ICEnroll * This,
  329.             /* [in] */ BSTR PKCS7);
  330.         
  331.         HRESULT ( STDMETHODCALLTYPE *getCertFromPKCS7 )( 
  332.             ICEnroll * This,
  333.             /* [in] */ BSTR wszPKCS7,
  334.             /* [retval][out] */ BSTR *pbstrCert);
  335.         
  336.         HRESULT ( STDMETHODCALLTYPE *enumProviders )( 
  337.             ICEnroll * This,
  338.             /* [in] */ LONG dwIndex,
  339.             /* [in] */ LONG dwFlags,
  340.             /* [retval][out] */ BSTR *pbstrProvName);
  341.         
  342.         HRESULT ( STDMETHODCALLTYPE *enumContainers )( 
  343.             ICEnroll * This,
  344.             /* [in] */ LONG dwIndex,
  345.             /* [retval][out] */ BSTR *pbstr);
  346.         
  347.         HRESULT ( STDMETHODCALLTYPE *freeRequestInfo )( 
  348.             ICEnroll * This,
  349.             /* [in] */ BSTR PKCS7OrPKCS10);
  350.         
  351.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MyStoreName )( 
  352.             ICEnroll * This,
  353.             /* [retval][out] */ BSTR *pbstrName);
  354.         
  355.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_MyStoreName )( 
  356.             ICEnroll * This,
  357.             /* [in] */ BSTR bstrName);
  358.         
  359.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MyStoreType )( 
  360.             ICEnroll * This,
  361.             /* [retval][out] */ BSTR *pbstrType);
  362.         
  363.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_MyStoreType )( 
  364.             ICEnroll * This,
  365.             /* [in] */ BSTR bstrType);
  366.         
  367.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MyStoreFlags )( 
  368.             ICEnroll * This,
  369.             /* [retval][out] */ LONG *pdwFlags);
  370.         
  371.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_MyStoreFlags )( 
  372.             ICEnroll * This,
  373.             /* [in] */ LONG dwFlags);
  374.         
  375.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CAStoreName )( 
  376.             ICEnroll * This,
  377.             /* [retval][out] */ BSTR *pbstrName);
  378.         
  379.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_CAStoreName )( 
  380.             ICEnroll * This,
  381.             /* [in] */ BSTR bstrName);
  382.         
  383.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CAStoreType )( 
  384.             ICEnroll * This,
  385.             /* [retval][out] */ BSTR *pbstrType);
  386.         
  387.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_CAStoreType )( 
  388.             ICEnroll * This,
  389.             /* [in] */ BSTR bstrType);
  390.         
  391.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CAStoreFlags )( 
  392.             ICEnroll * This,
  393.             /* [retval][out] */ LONG *pdwFlags);
  394.         
  395.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_CAStoreFlags )( 
  396.             ICEnroll * This,
  397.             /* [in] */ LONG dwFlags);
  398.         
  399.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RootStoreName )( 
  400.             ICEnroll * This,
  401.             /* [retval][out] */ BSTR *pbstrName);
  402.         
  403.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RootStoreName )( 
  404.             ICEnroll * This,
  405.             /* [in] */ BSTR bstrName);
  406.         
  407.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RootStoreType )( 
  408.             ICEnroll * This,
  409.             /* [retval][out] */ BSTR *pbstrType);
  410.         
  411.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RootStoreType )( 
  412.             ICEnroll * This,
  413.             /* [in] */ BSTR bstrType);
  414.         
  415.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RootStoreFlags )( 
  416.             ICEnroll * This,
  417.             /* [retval][out] */ LONG *pdwFlags);
  418.         
  419.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RootStoreFlags )( 
  420.             ICEnroll * This,
  421.             /* [in] */ LONG dwFlags);
  422.         
  423.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RequestStoreName )( 
  424.             ICEnroll * This,
  425.             /* [retval][out] */ BSTR *pbstrName);
  426.         
  427.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RequestStoreName )( 
  428.             ICEnroll * This,
  429.             /* [in] */ BSTR bstrName);
  430.         
  431.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RequestStoreType )( 
  432.             ICEnroll * This,
  433.             /* [retval][out] */ BSTR *pbstrType);
  434.         
  435.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RequestStoreType )( 
  436.             ICEnroll * This,
  437.             /* [in] */ BSTR bstrType);
  438.         
  439.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RequestStoreFlags )( 
  440.             ICEnroll * This,
  441.             /* [retval][out] */ LONG *pdwFlags);
  442.         
  443.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RequestStoreFlags )( 
  444.             ICEnroll * This,
  445.             /* [in] */ LONG dwFlags);
  446.         
  447.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ContainerName )( 
  448.             ICEnroll * This,
  449.             /* [retval][out] */ BSTR *pbstrContainer);
  450.         
  451.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ContainerName )( 
  452.             ICEnroll * This,
  453.             /* [in] */ BSTR bstrContainer);
  454.         
  455.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProviderName )( 
  456.             ICEnroll * This,
  457.             /* [retval][out] */ BSTR *pbstrProvider);
  458.         
  459.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ProviderName )( 
  460.             ICEnroll * This,
  461.             /* [in] */ BSTR bstrProvider);
  462.         
  463.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProviderType )( 
  464.             ICEnroll * This,
  465.             /* [retval][out] */ LONG *pdwType);
  466.         
  467.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ProviderType )( 
  468.             ICEnroll * This,
  469.             /* [in] */ LONG dwType);
  470.         
  471.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_KeySpec )( 
  472.             ICEnroll * This,
  473.             /* [retval][out] */ LONG *pdw);
  474.         
  475.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_KeySpec )( 
  476.             ICEnroll * This,
  477.             /* [in] */ LONG dw);
  478.         
  479.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProviderFlags )( 
  480.             ICEnroll * This,
  481.             /* [retval][out] */ LONG *pdwFlags);
  482.         
  483.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ProviderFlags )( 
  484.             ICEnroll * This,
  485.             /* [in] */ LONG dwFlags);
  486.         
  487.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_UseExistingKeySet )( 
  488.             ICEnroll * This,
  489.             /* [retval][out] */ BOOL *fUseExistingKeys);
  490.         
  491.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_UseExistingKeySet )( 
  492.             ICEnroll * This,
  493.             /* [in] */ BOOL fUseExistingKeys);
  494.         
  495.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_GenKeyFlags )( 
  496.             ICEnroll * This,
  497.             /* [retval][out] */ LONG *pdwFlags);
  498.         
  499.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_GenKeyFlags )( 
  500.             ICEnroll * This,
  501.             /* [in] */ LONG dwFlags);
  502.         
  503.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DeleteRequestCert )( 
  504.             ICEnroll * This,
  505.             /* [retval][out] */ BOOL *fDelete);
  506.         
  507.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DeleteRequestCert )( 
  508.             ICEnroll * This,
  509.             /* [in] */ BOOL fDelete);
  510.         
  511.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_WriteCertToCSP )( 
  512.             ICEnroll * This,
  513.             /* [retval][out] */ BOOL *fBool);
  514.         
  515.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_WriteCertToCSP )( 
  516.             ICEnroll * This,
  517.             /* [in] */ BOOL fBool);
  518.         
  519.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SPCFileName )( 
  520.             ICEnroll * This,
  521.             /* [retval][out] */ BSTR *pbstr);
  522.         
  523.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_SPCFileName )( 
  524.             ICEnroll * This,
  525.             /* [in] */ BSTR bstr);
  526.         
  527.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PVKFileName )( 
  528.             ICEnroll * This,
  529.             /* [retval][out] */ BSTR *pbstr);
  530.         
  531.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PVKFileName )( 
  532.             ICEnroll * This,
  533.             /* [in] */ BSTR bstr);
  534.         
  535.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HashAlgorithm )( 
  536.             ICEnroll * This,
  537.             /* [retval][out] */ BSTR *pbstr);
  538.         
  539.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_HashAlgorithm )( 
  540.             ICEnroll * This,
  541.             /* [in] */ BSTR bstr);
  542.         
  543.         END_INTERFACE
  544.     } ICEnrollVtbl;
  545.     interface ICEnroll
  546.     {
  547.         CONST_VTBL struct ICEnrollVtbl *lpVtbl;
  548.     };
  549.     
  550. #ifdef COBJMACROS
  551. #define ICEnroll_QueryInterface(This,riid,ppvObject)
  552.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  553. #define ICEnroll_AddRef(This)
  554.     (This)->lpVtbl -> AddRef(This)
  555. #define ICEnroll_Release(This)
  556.     (This)->lpVtbl -> Release(This)
  557. #define ICEnroll_GetTypeInfoCount(This,pctinfo)
  558.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  559. #define ICEnroll_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  560.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  561. #define ICEnroll_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  562.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  563. #define ICEnroll_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  564.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  565. #define ICEnroll_createFilePKCS10(This,DNName,Usage,wszPKCS10FileName)
  566.     (This)->lpVtbl -> createFilePKCS10(This,DNName,Usage,wszPKCS10FileName)
  567. #define ICEnroll_acceptFilePKCS7(This,wszPKCS7FileName)
  568.     (This)->lpVtbl -> acceptFilePKCS7(This,wszPKCS7FileName)
  569. #define ICEnroll_createPKCS10(This,DNName,Usage,pPKCS10)
  570.     (This)->lpVtbl -> createPKCS10(This,DNName,Usage,pPKCS10)
  571. #define ICEnroll_acceptPKCS7(This,PKCS7)
  572.     (This)->lpVtbl -> acceptPKCS7(This,PKCS7)
  573. #define ICEnroll_getCertFromPKCS7(This,wszPKCS7,pbstrCert)
  574.     (This)->lpVtbl -> getCertFromPKCS7(This,wszPKCS7,pbstrCert)
  575. #define ICEnroll_enumProviders(This,dwIndex,dwFlags,pbstrProvName)
  576.     (This)->lpVtbl -> enumProviders(This,dwIndex,dwFlags,pbstrProvName)
  577. #define ICEnroll_enumContainers(This,dwIndex,pbstr)
  578.     (This)->lpVtbl -> enumContainers(This,dwIndex,pbstr)
  579. #define ICEnroll_freeRequestInfo(This,PKCS7OrPKCS10)
  580.     (This)->lpVtbl -> freeRequestInfo(This,PKCS7OrPKCS10)
  581. #define ICEnroll_get_MyStoreName(This,pbstrName)
  582.     (This)->lpVtbl -> get_MyStoreName(This,pbstrName)
  583. #define ICEnroll_put_MyStoreName(This,bstrName)
  584.     (This)->lpVtbl -> put_MyStoreName(This,bstrName)
  585. #define ICEnroll_get_MyStoreType(This,pbstrType)
  586.     (This)->lpVtbl -> get_MyStoreType(This,pbstrType)
  587. #define ICEnroll_put_MyStoreType(This,bstrType)
  588.     (This)->lpVtbl -> put_MyStoreType(This,bstrType)
  589. #define ICEnroll_get_MyStoreFlags(This,pdwFlags)
  590.     (This)->lpVtbl -> get_MyStoreFlags(This,pdwFlags)
  591. #define ICEnroll_put_MyStoreFlags(This,dwFlags)
  592.     (This)->lpVtbl -> put_MyStoreFlags(This,dwFlags)
  593. #define ICEnroll_get_CAStoreName(This,pbstrName)
  594.     (This)->lpVtbl -> get_CAStoreName(This,pbstrName)
  595. #define ICEnroll_put_CAStoreName(This,bstrName)
  596.     (This)->lpVtbl -> put_CAStoreName(This,bstrName)
  597. #define ICEnroll_get_CAStoreType(This,pbstrType)
  598.     (This)->lpVtbl -> get_CAStoreType(This,pbstrType)
  599. #define ICEnroll_put_CAStoreType(This,bstrType)
  600.     (This)->lpVtbl -> put_CAStoreType(This,bstrType)
  601. #define ICEnroll_get_CAStoreFlags(This,pdwFlags)
  602.     (This)->lpVtbl -> get_CAStoreFlags(This,pdwFlags)
  603. #define ICEnroll_put_CAStoreFlags(This,dwFlags)
  604.     (This)->lpVtbl -> put_CAStoreFlags(This,dwFlags)
  605. #define ICEnroll_get_RootStoreName(This,pbstrName)
  606.     (This)->lpVtbl -> get_RootStoreName(This,pbstrName)
  607. #define ICEnroll_put_RootStoreName(This,bstrName)
  608.     (This)->lpVtbl -> put_RootStoreName(This,bstrName)
  609. #define ICEnroll_get_RootStoreType(This,pbstrType)
  610.     (This)->lpVtbl -> get_RootStoreType(This,pbstrType)
  611. #define ICEnroll_put_RootStoreType(This,bstrType)
  612.     (This)->lpVtbl -> put_RootStoreType(This,bstrType)
  613. #define ICEnroll_get_RootStoreFlags(This,pdwFlags)
  614.     (This)->lpVtbl -> get_RootStoreFlags(This,pdwFlags)
  615. #define ICEnroll_put_RootStoreFlags(This,dwFlags)
  616.     (This)->lpVtbl -> put_RootStoreFlags(This,dwFlags)
  617. #define ICEnroll_get_RequestStoreName(This,pbstrName)
  618.     (This)->lpVtbl -> get_RequestStoreName(This,pbstrName)
  619. #define ICEnroll_put_RequestStoreName(This,bstrName)
  620.     (This)->lpVtbl -> put_RequestStoreName(This,bstrName)
  621. #define ICEnroll_get_RequestStoreType(This,pbstrType)
  622.     (This)->lpVtbl -> get_RequestStoreType(This,pbstrType)
  623. #define ICEnroll_put_RequestStoreType(This,bstrType)
  624.     (This)->lpVtbl -> put_RequestStoreType(This,bstrType)
  625. #define ICEnroll_get_RequestStoreFlags(This,pdwFlags)
  626.     (This)->lpVtbl -> get_RequestStoreFlags(This,pdwFlags)
  627. #define ICEnroll_put_RequestStoreFlags(This,dwFlags)
  628.     (This)->lpVtbl -> put_RequestStoreFlags(This,dwFlags)
  629. #define ICEnroll_get_ContainerName(This,pbstrContainer)
  630.     (This)->lpVtbl -> get_ContainerName(This,pbstrContainer)
  631. #define ICEnroll_put_ContainerName(This,bstrContainer)
  632.     (This)->lpVtbl -> put_ContainerName(This,bstrContainer)
  633. #define ICEnroll_get_ProviderName(This,pbstrProvider)
  634.     (This)->lpVtbl -> get_ProviderName(This,pbstrProvider)
  635. #define ICEnroll_put_ProviderName(This,bstrProvider)
  636.     (This)->lpVtbl -> put_ProviderName(This,bstrProvider)
  637. #define ICEnroll_get_ProviderType(This,pdwType)
  638.     (This)->lpVtbl -> get_ProviderType(This,pdwType)
  639. #define ICEnroll_put_ProviderType(This,dwType)
  640.     (This)->lpVtbl -> put_ProviderType(This,dwType)
  641. #define ICEnroll_get_KeySpec(This,pdw)
  642.     (This)->lpVtbl -> get_KeySpec(This,pdw)
  643. #define ICEnroll_put_KeySpec(This,dw)
  644.     (This)->lpVtbl -> put_KeySpec(This,dw)
  645. #define ICEnroll_get_ProviderFlags(This,pdwFlags)
  646.     (This)->lpVtbl -> get_ProviderFlags(This,pdwFlags)
  647. #define ICEnroll_put_ProviderFlags(This,dwFlags)
  648.     (This)->lpVtbl -> put_ProviderFlags(This,dwFlags)
  649. #define ICEnroll_get_UseExistingKeySet(This,fUseExistingKeys)
  650.     (This)->lpVtbl -> get_UseExistingKeySet(This,fUseExistingKeys)
  651. #define ICEnroll_put_UseExistingKeySet(This,fUseExistingKeys)
  652.     (This)->lpVtbl -> put_UseExistingKeySet(This,fUseExistingKeys)
  653. #define ICEnroll_get_GenKeyFlags(This,pdwFlags)
  654.     (This)->lpVtbl -> get_GenKeyFlags(This,pdwFlags)
  655. #define ICEnroll_put_GenKeyFlags(This,dwFlags)
  656.     (This)->lpVtbl -> put_GenKeyFlags(This,dwFlags)
  657. #define ICEnroll_get_DeleteRequestCert(This,fDelete)
  658.     (This)->lpVtbl -> get_DeleteRequestCert(This,fDelete)
  659. #define ICEnroll_put_DeleteRequestCert(This,fDelete)
  660.     (This)->lpVtbl -> put_DeleteRequestCert(This,fDelete)
  661. #define ICEnroll_get_WriteCertToCSP(This,fBool)
  662.     (This)->lpVtbl -> get_WriteCertToCSP(This,fBool)
  663. #define ICEnroll_put_WriteCertToCSP(This,fBool)
  664.     (This)->lpVtbl -> put_WriteCertToCSP(This,fBool)
  665. #define ICEnroll_get_SPCFileName(This,pbstr)
  666.     (This)->lpVtbl -> get_SPCFileName(This,pbstr)
  667. #define ICEnroll_put_SPCFileName(This,bstr)
  668.     (This)->lpVtbl -> put_SPCFileName(This,bstr)
  669. #define ICEnroll_get_PVKFileName(This,pbstr)
  670.     (This)->lpVtbl -> get_PVKFileName(This,pbstr)
  671. #define ICEnroll_put_PVKFileName(This,bstr)
  672.     (This)->lpVtbl -> put_PVKFileName(This,bstr)
  673. #define ICEnroll_get_HashAlgorithm(This,pbstr)
  674.     (This)->lpVtbl -> get_HashAlgorithm(This,pbstr)
  675. #define ICEnroll_put_HashAlgorithm(This,bstr)
  676.     (This)->lpVtbl -> put_HashAlgorithm(This,bstr)
  677. #endif /* COBJMACROS */
  678. #endif  /* C style interface */
  679. HRESULT STDMETHODCALLTYPE ICEnroll_createFilePKCS10_Proxy( 
  680.     ICEnroll * This,
  681.     /* [in] */ BSTR DNName,
  682.     /* [in] */ BSTR Usage,
  683.     /* [in] */ BSTR wszPKCS10FileName);
  684. void __RPC_STUB ICEnroll_createFilePKCS10_Stub(
  685.     IRpcStubBuffer *This,
  686.     IRpcChannelBuffer *_pRpcChannelBuffer,
  687.     PRPC_MESSAGE _pRpcMessage,
  688.     DWORD *_pdwStubPhase);
  689. HRESULT STDMETHODCALLTYPE ICEnroll_acceptFilePKCS7_Proxy( 
  690.     ICEnroll * This,
  691.     /* [in] */ BSTR wszPKCS7FileName);
  692. void __RPC_STUB ICEnroll_acceptFilePKCS7_Stub(
  693.     IRpcStubBuffer *This,
  694.     IRpcChannelBuffer *_pRpcChannelBuffer,
  695.     PRPC_MESSAGE _pRpcMessage,
  696.     DWORD *_pdwStubPhase);
  697. HRESULT STDMETHODCALLTYPE ICEnroll_createPKCS10_Proxy( 
  698.     ICEnroll * This,
  699.     /* [in] */ BSTR DNName,
  700.     /* [in] */ BSTR Usage,
  701.     /* [retval][out] */ BSTR *pPKCS10);
  702. void __RPC_STUB ICEnroll_createPKCS10_Stub(
  703.     IRpcStubBuffer *This,
  704.     IRpcChannelBuffer *_pRpcChannelBuffer,
  705.     PRPC_MESSAGE _pRpcMessage,
  706.     DWORD *_pdwStubPhase);
  707. HRESULT STDMETHODCALLTYPE ICEnroll_acceptPKCS7_Proxy( 
  708.     ICEnroll * This,
  709.     /* [in] */ BSTR PKCS7);
  710. void __RPC_STUB ICEnroll_acceptPKCS7_Stub(
  711.     IRpcStubBuffer *This,
  712.     IRpcChannelBuffer *_pRpcChannelBuffer,
  713.     PRPC_MESSAGE _pRpcMessage,
  714.     DWORD *_pdwStubPhase);
  715. HRESULT STDMETHODCALLTYPE ICEnroll_getCertFromPKCS7_Proxy( 
  716.     ICEnroll * This,
  717.     /* [in] */ BSTR wszPKCS7,
  718.     /* [retval][out] */ BSTR *pbstrCert);
  719. void __RPC_STUB ICEnroll_getCertFromPKCS7_Stub(
  720.     IRpcStubBuffer *This,
  721.     IRpcChannelBuffer *_pRpcChannelBuffer,
  722.     PRPC_MESSAGE _pRpcMessage,
  723.     DWORD *_pdwStubPhase);
  724. HRESULT STDMETHODCALLTYPE ICEnroll_enumProviders_Proxy( 
  725.     ICEnroll * This,
  726.     /* [in] */ LONG dwIndex,
  727.     /* [in] */ LONG dwFlags,
  728.     /* [retval][out] */ BSTR *pbstrProvName);
  729. void __RPC_STUB ICEnroll_enumProviders_Stub(
  730.     IRpcStubBuffer *This,
  731.     IRpcChannelBuffer *_pRpcChannelBuffer,
  732.     PRPC_MESSAGE _pRpcMessage,
  733.     DWORD *_pdwStubPhase);
  734. HRESULT STDMETHODCALLTYPE ICEnroll_enumContainers_Proxy( 
  735.     ICEnroll * This,
  736.     /* [in] */ LONG dwIndex,
  737.     /* [retval][out] */ BSTR *pbstr);
  738. void __RPC_STUB ICEnroll_enumContainers_Stub(
  739.     IRpcStubBuffer *This,
  740.     IRpcChannelBuffer *_pRpcChannelBuffer,
  741.     PRPC_MESSAGE _pRpcMessage,
  742.     DWORD *_pdwStubPhase);
  743. HRESULT STDMETHODCALLTYPE ICEnroll_freeRequestInfo_Proxy( 
  744.     ICEnroll * This,
  745.     /* [in] */ BSTR PKCS7OrPKCS10);
  746. void __RPC_STUB ICEnroll_freeRequestInfo_Stub(
  747.     IRpcStubBuffer *This,
  748.     IRpcChannelBuffer *_pRpcChannelBuffer,
  749.     PRPC_MESSAGE _pRpcMessage,
  750.     DWORD *_pdwStubPhase);
  751. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll_get_MyStoreName_Proxy( 
  752.     ICEnroll * This,
  753.     /* [retval][out] */ BSTR *pbstrName);
  754. void __RPC_STUB ICEnroll_get_MyStoreName_Stub(
  755.     IRpcStubBuffer *This,
  756.     IRpcChannelBuffer *_pRpcChannelBuffer,
  757.     PRPC_MESSAGE _pRpcMessage,
  758.     DWORD *_pdwStubPhase);
  759. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll_put_MyStoreName_Proxy( 
  760.     ICEnroll * This,
  761.     /* [in] */ BSTR bstrName);
  762. void __RPC_STUB ICEnroll_put_MyStoreName_Stub(
  763.     IRpcStubBuffer *This,
  764.     IRpcChannelBuffer *_pRpcChannelBuffer,
  765.     PRPC_MESSAGE _pRpcMessage,
  766.     DWORD *_pdwStubPhase);
  767. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll_get_MyStoreType_Proxy( 
  768.     ICEnroll * This,
  769.     /* [retval][out] */ BSTR *pbstrType);
  770. void __RPC_STUB ICEnroll_get_MyStoreType_Stub(
  771.     IRpcStubBuffer *This,
  772.     IRpcChannelBuffer *_pRpcChannelBuffer,
  773.     PRPC_MESSAGE _pRpcMessage,
  774.     DWORD *_pdwStubPhase);
  775. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll_put_MyStoreType_Proxy( 
  776.     ICEnroll * This,
  777.     /* [in] */ BSTR bstrType);
  778. void __RPC_STUB ICEnroll_put_MyStoreType_Stub(
  779.     IRpcStubBuffer *This,
  780.     IRpcChannelBuffer *_pRpcChannelBuffer,
  781.     PRPC_MESSAGE _pRpcMessage,
  782.     DWORD *_pdwStubPhase);
  783. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll_get_MyStoreFlags_Proxy( 
  784.     ICEnroll * This,
  785.     /* [retval][out] */ LONG *pdwFlags);
  786. void __RPC_STUB ICEnroll_get_MyStoreFlags_Stub(
  787.     IRpcStubBuffer *This,
  788.     IRpcChannelBuffer *_pRpcChannelBuffer,
  789.     PRPC_MESSAGE _pRpcMessage,
  790.     DWORD *_pdwStubPhase);
  791. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll_put_MyStoreFlags_Proxy( 
  792.     ICEnroll * This,
  793.     /* [in] */ LONG dwFlags);
  794. void __RPC_STUB ICEnroll_put_MyStoreFlags_Stub(
  795.     IRpcStubBuffer *This,
  796.     IRpcChannelBuffer *_pRpcChannelBuffer,
  797.     PRPC_MESSAGE _pRpcMessage,
  798.     DWORD *_pdwStubPhase);
  799. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll_get_CAStoreName_Proxy( 
  800.     ICEnroll * This,
  801.     /* [retval][out] */ BSTR *pbstrName);
  802. void __RPC_STUB ICEnroll_get_CAStoreName_Stub(
  803.     IRpcStubBuffer *This,
  804.     IRpcChannelBuffer *_pRpcChannelBuffer,
  805.     PRPC_MESSAGE _pRpcMessage,
  806.     DWORD *_pdwStubPhase);
  807. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll_put_CAStoreName_Proxy( 
  808.     ICEnroll * This,
  809.     /* [in] */ BSTR bstrName);
  810. void __RPC_STUB ICEnroll_put_CAStoreName_Stub(
  811.     IRpcStubBuffer *This,
  812.     IRpcChannelBuffer *_pRpcChannelBuffer,
  813.     PRPC_MESSAGE _pRpcMessage,
  814.     DWORD *_pdwStubPhase);
  815. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll_get_CAStoreType_Proxy( 
  816.     ICEnroll * This,
  817.     /* [retval][out] */ BSTR *pbstrType);
  818. void __RPC_STUB ICEnroll_get_CAStoreType_Stub(
  819.     IRpcStubBuffer *This,
  820.     IRpcChannelBuffer *_pRpcChannelBuffer,
  821.     PRPC_MESSAGE _pRpcMessage,
  822.     DWORD *_pdwStubPhase);
  823. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll_put_CAStoreType_Proxy( 
  824.     ICEnroll * This,
  825.     /* [in] */ BSTR bstrType);
  826. void __RPC_STUB ICEnroll_put_CAStoreType_Stub(
  827.     IRpcStubBuffer *This,
  828.     IRpcChannelBuffer *_pRpcChannelBuffer,
  829.     PRPC_MESSAGE _pRpcMessage,
  830.     DWORD *_pdwStubPhase);
  831. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll_get_CAStoreFlags_Proxy( 
  832.     ICEnroll * This,
  833.     /* [retval][out] */ LONG *pdwFlags);
  834. void __RPC_STUB ICEnroll_get_CAStoreFlags_Stub(
  835.     IRpcStubBuffer *This,
  836.     IRpcChannelBuffer *_pRpcChannelBuffer,
  837.     PRPC_MESSAGE _pRpcMessage,
  838.     DWORD *_pdwStubPhase);
  839. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll_put_CAStoreFlags_Proxy( 
  840.     ICEnroll * This,
  841.     /* [in] */ LONG dwFlags);
  842. void __RPC_STUB ICEnroll_put_CAStoreFlags_Stub(
  843.     IRpcStubBuffer *This,
  844.     IRpcChannelBuffer *_pRpcChannelBuffer,
  845.     PRPC_MESSAGE _pRpcMessage,
  846.     DWORD *_pdwStubPhase);
  847. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll_get_RootStoreName_Proxy( 
  848.     ICEnroll * This,
  849.     /* [retval][out] */ BSTR *pbstrName);
  850. void __RPC_STUB ICEnroll_get_RootStoreName_Stub(
  851.     IRpcStubBuffer *This,
  852.     IRpcChannelBuffer *_pRpcChannelBuffer,
  853.     PRPC_MESSAGE _pRpcMessage,
  854.     DWORD *_pdwStubPhase);
  855. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll_put_RootStoreName_Proxy( 
  856.     ICEnroll * This,
  857.     /* [in] */ BSTR bstrName);
  858. void __RPC_STUB ICEnroll_put_RootStoreName_Stub(
  859.     IRpcStubBuffer *This,
  860.     IRpcChannelBuffer *_pRpcChannelBuffer,
  861.     PRPC_MESSAGE _pRpcMessage,
  862.     DWORD *_pdwStubPhase);
  863. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll_get_RootStoreType_Proxy( 
  864.     ICEnroll * This,
  865.     /* [retval][out] */ BSTR *pbstrType);
  866. void __RPC_STUB ICEnroll_get_RootStoreType_Stub(
  867.     IRpcStubBuffer *This,
  868.     IRpcChannelBuffer *_pRpcChannelBuffer,
  869.     PRPC_MESSAGE _pRpcMessage,
  870.     DWORD *_pdwStubPhase);
  871. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll_put_RootStoreType_Proxy( 
  872.     ICEnroll * This,
  873.     /* [in] */ BSTR bstrType);
  874. void __RPC_STUB ICEnroll_put_RootStoreType_Stub(
  875.     IRpcStubBuffer *This,
  876.     IRpcChannelBuffer *_pRpcChannelBuffer,
  877.     PRPC_MESSAGE _pRpcMessage,
  878.     DWORD *_pdwStubPhase);
  879. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll_get_RootStoreFlags_Proxy( 
  880.     ICEnroll * This,
  881.     /* [retval][out] */ LONG *pdwFlags);
  882. void __RPC_STUB ICEnroll_get_RootStoreFlags_Stub(
  883.     IRpcStubBuffer *This,
  884.     IRpcChannelBuffer *_pRpcChannelBuffer,
  885.     PRPC_MESSAGE _pRpcMessage,
  886.     DWORD *_pdwStubPhase);
  887. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll_put_RootStoreFlags_Proxy( 
  888.     ICEnroll * This,
  889.     /* [in] */ LONG dwFlags);
  890. void __RPC_STUB ICEnroll_put_RootStoreFlags_Stub(
  891.     IRpcStubBuffer *This,
  892.     IRpcChannelBuffer *_pRpcChannelBuffer,
  893.     PRPC_MESSAGE _pRpcMessage,
  894.     DWORD *_pdwStubPhase);
  895. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll_get_RequestStoreName_Proxy( 
  896.     ICEnroll * This,
  897.     /* [retval][out] */ BSTR *pbstrName);
  898. void __RPC_STUB ICEnroll_get_RequestStoreName_Stub(
  899.     IRpcStubBuffer *This,
  900.     IRpcChannelBuffer *_pRpcChannelBuffer,
  901.     PRPC_MESSAGE _pRpcMessage,
  902.     DWORD *_pdwStubPhase);
  903. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll_put_RequestStoreName_Proxy( 
  904.     ICEnroll * This,
  905.     /* [in] */ BSTR bstrName);
  906. void __RPC_STUB ICEnroll_put_RequestStoreName_Stub(
  907.     IRpcStubBuffer *This,
  908.     IRpcChannelBuffer *_pRpcChannelBuffer,
  909.     PRPC_MESSAGE _pRpcMessage,
  910.     DWORD *_pdwStubPhase);
  911. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll_get_RequestStoreType_Proxy( 
  912.     ICEnroll * This,
  913.     /* [retval][out] */ BSTR *pbstrType);
  914. void __RPC_STUB ICEnroll_get_RequestStoreType_Stub(
  915.     IRpcStubBuffer *This,
  916.     IRpcChannelBuffer *_pRpcChannelBuffer,
  917.     PRPC_MESSAGE _pRpcMessage,
  918.     DWORD *_pdwStubPhase);
  919. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll_put_RequestStoreType_Proxy( 
  920.     ICEnroll * This,
  921.     /* [in] */ BSTR bstrType);
  922. void __RPC_STUB ICEnroll_put_RequestStoreType_Stub(
  923.     IRpcStubBuffer *This,
  924.     IRpcChannelBuffer *_pRpcChannelBuffer,
  925.     PRPC_MESSAGE _pRpcMessage,
  926.     DWORD *_pdwStubPhase);
  927. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll_get_RequestStoreFlags_Proxy( 
  928.     ICEnroll * This,
  929.     /* [retval][out] */ LONG *pdwFlags);
  930. void __RPC_STUB ICEnroll_get_RequestStoreFlags_Stub(
  931.     IRpcStubBuffer *This,
  932.     IRpcChannelBuffer *_pRpcChannelBuffer,
  933.     PRPC_MESSAGE _pRpcMessage,
  934.     DWORD *_pdwStubPhase);
  935. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll_put_RequestStoreFlags_Proxy( 
  936.     ICEnroll * This,
  937.     /* [in] */ LONG dwFlags);
  938. void __RPC_STUB ICEnroll_put_RequestStoreFlags_Stub(
  939.     IRpcStubBuffer *This,
  940.     IRpcChannelBuffer *_pRpcChannelBuffer,
  941.     PRPC_MESSAGE _pRpcMessage,
  942.     DWORD *_pdwStubPhase);
  943. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll_get_ContainerName_Proxy( 
  944.     ICEnroll * This,
  945.     /* [retval][out] */ BSTR *pbstrContainer);
  946. void __RPC_STUB ICEnroll_get_ContainerName_Stub(
  947.     IRpcStubBuffer *This,
  948.     IRpcChannelBuffer *_pRpcChannelBuffer,
  949.     PRPC_MESSAGE _pRpcMessage,
  950.     DWORD *_pdwStubPhase);
  951. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll_put_ContainerName_Proxy( 
  952.     ICEnroll * This,
  953.     /* [in] */ BSTR bstrContainer);
  954. void __RPC_STUB ICEnroll_put_ContainerName_Stub(
  955.     IRpcStubBuffer *This,
  956.     IRpcChannelBuffer *_pRpcChannelBuffer,
  957.     PRPC_MESSAGE _pRpcMessage,
  958.     DWORD *_pdwStubPhase);
  959. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll_get_ProviderName_Proxy( 
  960.     ICEnroll * This,
  961.     /* [retval][out] */ BSTR *pbstrProvider);
  962. void __RPC_STUB ICEnroll_get_ProviderName_Stub(
  963.     IRpcStubBuffer *This,
  964.     IRpcChannelBuffer *_pRpcChannelBuffer,
  965.     PRPC_MESSAGE _pRpcMessage,
  966.     DWORD *_pdwStubPhase);
  967. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll_put_ProviderName_Proxy( 
  968.     ICEnroll * This,
  969.     /* [in] */ BSTR bstrProvider);
  970. void __RPC_STUB ICEnroll_put_ProviderName_Stub(
  971.     IRpcStubBuffer *This,
  972.     IRpcChannelBuffer *_pRpcChannelBuffer,
  973.     PRPC_MESSAGE _pRpcMessage,
  974.     DWORD *_pdwStubPhase);
  975. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll_get_ProviderType_Proxy( 
  976.     ICEnroll * This,
  977.     /* [retval][out] */ LONG *pdwType);
  978. void __RPC_STUB ICEnroll_get_ProviderType_Stub(
  979.     IRpcStubBuffer *This,
  980.     IRpcChannelBuffer *_pRpcChannelBuffer,
  981.     PRPC_MESSAGE _pRpcMessage,
  982.     DWORD *_pdwStubPhase);
  983. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll_put_ProviderType_Proxy( 
  984.     ICEnroll * This,
  985.     /* [in] */ LONG dwType);
  986. void __RPC_STUB ICEnroll_put_ProviderType_Stub(
  987.     IRpcStubBuffer *This,
  988.     IRpcChannelBuffer *_pRpcChannelBuffer,
  989.     PRPC_MESSAGE _pRpcMessage,
  990.     DWORD *_pdwStubPhase);
  991. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll_get_KeySpec_Proxy( 
  992.     ICEnroll * This,
  993.     /* [retval][out] */ LONG *pdw);
  994. void __RPC_STUB ICEnroll_get_KeySpec_Stub(
  995.     IRpcStubBuffer *This,
  996.     IRpcChannelBuffer *_pRpcChannelBuffer,
  997.     PRPC_MESSAGE _pRpcMessage,
  998.     DWORD *_pdwStubPhase);
  999. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll_put_KeySpec_Proxy( 
  1000.     ICEnroll * This,
  1001.     /* [in] */ LONG dw);
  1002. void __RPC_STUB ICEnroll_put_KeySpec_Stub(
  1003.     IRpcStubBuffer *This,
  1004.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1005.     PRPC_MESSAGE _pRpcMessage,
  1006.     DWORD *_pdwStubPhase);
  1007. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll_get_ProviderFlags_Proxy( 
  1008.     ICEnroll * This,
  1009.     /* [retval][out] */ LONG *pdwFlags);
  1010. void __RPC_STUB ICEnroll_get_ProviderFlags_Stub(
  1011.     IRpcStubBuffer *This,
  1012.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1013.     PRPC_MESSAGE _pRpcMessage,
  1014.     DWORD *_pdwStubPhase);
  1015. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll_put_ProviderFlags_Proxy( 
  1016.     ICEnroll * This,
  1017.     /* [in] */ LONG dwFlags);
  1018. void __RPC_STUB ICEnroll_put_ProviderFlags_Stub(
  1019.     IRpcStubBuffer *This,
  1020.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1021.     PRPC_MESSAGE _pRpcMessage,
  1022.     DWORD *_pdwStubPhase);
  1023. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll_get_UseExistingKeySet_Proxy( 
  1024.     ICEnroll * This,
  1025.     /* [retval][out] */ BOOL *fUseExistingKeys);
  1026. void __RPC_STUB ICEnroll_get_UseExistingKeySet_Stub(
  1027.     IRpcStubBuffer *This,
  1028.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1029.     PRPC_MESSAGE _pRpcMessage,
  1030.     DWORD *_pdwStubPhase);
  1031. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll_put_UseExistingKeySet_Proxy( 
  1032.     ICEnroll * This,
  1033.     /* [in] */ BOOL fUseExistingKeys);
  1034. void __RPC_STUB ICEnroll_put_UseExistingKeySet_Stub(
  1035.     IRpcStubBuffer *This,
  1036.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1037.     PRPC_MESSAGE _pRpcMessage,
  1038.     DWORD *_pdwStubPhase);
  1039. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll_get_GenKeyFlags_Proxy( 
  1040.     ICEnroll * This,
  1041.     /* [retval][out] */ LONG *pdwFlags);
  1042. void __RPC_STUB ICEnroll_get_GenKeyFlags_Stub(
  1043.     IRpcStubBuffer *This,
  1044.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1045.     PRPC_MESSAGE _pRpcMessage,
  1046.     DWORD *_pdwStubPhase);
  1047. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll_put_GenKeyFlags_Proxy( 
  1048.     ICEnroll * This,
  1049.     /* [in] */ LONG dwFlags);
  1050. void __RPC_STUB ICEnroll_put_GenKeyFlags_Stub(
  1051.     IRpcStubBuffer *This,
  1052.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1053.     PRPC_MESSAGE _pRpcMessage,
  1054.     DWORD *_pdwStubPhase);
  1055. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll_get_DeleteRequestCert_Proxy( 
  1056.     ICEnroll * This,
  1057.     /* [retval][out] */ BOOL *fDelete);
  1058. void __RPC_STUB ICEnroll_get_DeleteRequestCert_Stub(
  1059.     IRpcStubBuffer *This,
  1060.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1061.     PRPC_MESSAGE _pRpcMessage,
  1062.     DWORD *_pdwStubPhase);
  1063. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll_put_DeleteRequestCert_Proxy( 
  1064.     ICEnroll * This,
  1065.     /* [in] */ BOOL fDelete);
  1066. void __RPC_STUB ICEnroll_put_DeleteRequestCert_Stub(
  1067.     IRpcStubBuffer *This,
  1068.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1069.     PRPC_MESSAGE _pRpcMessage,
  1070.     DWORD *_pdwStubPhase);
  1071. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll_get_WriteCertToCSP_Proxy( 
  1072.     ICEnroll * This,
  1073.     /* [retval][out] */ BOOL *fBool);
  1074. void __RPC_STUB ICEnroll_get_WriteCertToCSP_Stub(
  1075.     IRpcStubBuffer *This,
  1076.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1077.     PRPC_MESSAGE _pRpcMessage,
  1078.     DWORD *_pdwStubPhase);
  1079. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll_put_WriteCertToCSP_Proxy( 
  1080.     ICEnroll * This,
  1081.     /* [in] */ BOOL fBool);
  1082. void __RPC_STUB ICEnroll_put_WriteCertToCSP_Stub(
  1083.     IRpcStubBuffer *This,
  1084.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1085.     PRPC_MESSAGE _pRpcMessage,
  1086.     DWORD *_pdwStubPhase);
  1087. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll_get_SPCFileName_Proxy( 
  1088.     ICEnroll * This,
  1089.     /* [retval][out] */ BSTR *pbstr);
  1090. void __RPC_STUB ICEnroll_get_SPCFileName_Stub(
  1091.     IRpcStubBuffer *This,
  1092.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1093.     PRPC_MESSAGE _pRpcMessage,
  1094.     DWORD *_pdwStubPhase);
  1095. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll_put_SPCFileName_Proxy( 
  1096.     ICEnroll * This,
  1097.     /* [in] */ BSTR bstr);
  1098. void __RPC_STUB ICEnroll_put_SPCFileName_Stub(
  1099.     IRpcStubBuffer *This,
  1100.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1101.     PRPC_MESSAGE _pRpcMessage,
  1102.     DWORD *_pdwStubPhase);
  1103. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll_get_PVKFileName_Proxy( 
  1104.     ICEnroll * This,
  1105.     /* [retval][out] */ BSTR *pbstr);
  1106. void __RPC_STUB ICEnroll_get_PVKFileName_Stub(
  1107.     IRpcStubBuffer *This,
  1108.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1109.     PRPC_MESSAGE _pRpcMessage,
  1110.     DWORD *_pdwStubPhase);
  1111. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll_put_PVKFileName_Proxy( 
  1112.     ICEnroll * This,
  1113.     /* [in] */ BSTR bstr);
  1114. void __RPC_STUB ICEnroll_put_PVKFileName_Stub(
  1115.     IRpcStubBuffer *This,
  1116.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1117.     PRPC_MESSAGE _pRpcMessage,
  1118.     DWORD *_pdwStubPhase);
  1119. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll_get_HashAlgorithm_Proxy( 
  1120.     ICEnroll * This,
  1121.     /* [retval][out] */ BSTR *pbstr);
  1122. void __RPC_STUB ICEnroll_get_HashAlgorithm_Stub(
  1123.     IRpcStubBuffer *This,
  1124.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1125.     PRPC_MESSAGE _pRpcMessage,
  1126.     DWORD *_pdwStubPhase);
  1127. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll_put_HashAlgorithm_Proxy( 
  1128.     ICEnroll * This,
  1129.     /* [in] */ BSTR bstr);
  1130. void __RPC_STUB ICEnroll_put_HashAlgorithm_Stub(
  1131.     IRpcStubBuffer *This,
  1132.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1133.     PRPC_MESSAGE _pRpcMessage,
  1134.     DWORD *_pdwStubPhase);
  1135. #endif  /* __ICEnroll_INTERFACE_DEFINED__ */
  1136. #ifndef __ICEnroll2_INTERFACE_DEFINED__
  1137. #define __ICEnroll2_INTERFACE_DEFINED__
  1138. /* interface ICEnroll2 */
  1139. /* [unique][helpstring][dual][uuid][object] */ 
  1140. EXTERN_C const IID IID_ICEnroll2;
  1141. #if defined(__cplusplus) && !defined(CINTERFACE)
  1142.     
  1143.     MIDL_INTERFACE("704ca730-c90b-11d1-9bec-00c04fc295e1")
  1144.     ICEnroll2 : public ICEnroll
  1145.     {
  1146.     public:
  1147.         virtual HRESULT STDMETHODCALLTYPE addCertTypeToRequest( 
  1148.             /* [in] */ BSTR CertType) = 0;
  1149.         
  1150.         virtual HRESULT STDMETHODCALLTYPE addNameValuePairToSignature( 
  1151.             /* [in] */ BSTR Name,
  1152.             /* [in] */ BSTR Value) = 0;
  1153.         
  1154.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_WriteCertToUserDS( 
  1155.             /* [retval][out] */ BOOL *fBool) = 0;
  1156.         
  1157.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_WriteCertToUserDS( 
  1158.             /* [in] */ BOOL fBool) = 0;
  1159.         
  1160.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_EnableT61DNEncoding( 
  1161.             /* [retval][out] */ BOOL *fBool) = 0;
  1162.         
  1163.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_EnableT61DNEncoding( 
  1164.             /* [in] */ BOOL fBool) = 0;
  1165.         
  1166.     };
  1167.     
  1168. #else  /* C style interface */
  1169.     typedef struct ICEnroll2Vtbl
  1170.     {
  1171.         BEGIN_INTERFACE
  1172.         
  1173.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1174.             ICEnroll2 * This,
  1175.             /* [in] */ REFIID riid,
  1176.             /* [iid_is][out] */ void **ppvObject);
  1177.         
  1178.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1179.             ICEnroll2 * This);
  1180.         
  1181.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1182.             ICEnroll2 * This);
  1183.         
  1184.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  1185.             ICEnroll2 * This,
  1186.             /* [out] */ UINT *pctinfo);
  1187.         
  1188.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  1189.             ICEnroll2 * This,
  1190.             /* [in] */ UINT iTInfo,
  1191.             /* [in] */ LCID lcid,
  1192.             /* [out] */ ITypeInfo **ppTInfo);
  1193.         
  1194.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  1195.             ICEnroll2 * This,
  1196.             /* [in] */ REFIID riid,
  1197.             /* [size_is][in] */ LPOLESTR *rgszNames,
  1198.             /* [in] */ UINT cNames,
  1199.             /* [in] */ LCID lcid,
  1200.             /* [size_is][out] */ DISPID *rgDispId);
  1201.         
  1202.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  1203.             ICEnroll2 * This,
  1204.             /* [in] */ DISPID dispIdMember,
  1205.             /* [in] */ REFIID riid,
  1206.             /* [in] */ LCID lcid,
  1207.             /* [in] */ WORD wFlags,
  1208.             /* [out][in] */ DISPPARAMS *pDispParams,
  1209.             /* [out] */ VARIANT *pVarResult,
  1210.             /* [out] */ EXCEPINFO *pExcepInfo,
  1211.             /* [out] */ UINT *puArgErr);
  1212.         
  1213.         HRESULT ( STDMETHODCALLTYPE *createFilePKCS10 )( 
  1214.             ICEnroll2 * This,
  1215.             /* [in] */ BSTR DNName,
  1216.             /* [in] */ BSTR Usage,
  1217.             /* [in] */ BSTR wszPKCS10FileName);
  1218.         
  1219.         HRESULT ( STDMETHODCALLTYPE *acceptFilePKCS7 )( 
  1220.             ICEnroll2 * This,
  1221.             /* [in] */ BSTR wszPKCS7FileName);
  1222.         
  1223.         HRESULT ( STDMETHODCALLTYPE *createPKCS10 )( 
  1224.             ICEnroll2 * This,
  1225.             /* [in] */ BSTR DNName,
  1226.             /* [in] */ BSTR Usage,
  1227.             /* [retval][out] */ BSTR *pPKCS10);
  1228.         
  1229.         HRESULT ( STDMETHODCALLTYPE *acceptPKCS7 )( 
  1230.             ICEnroll2 * This,
  1231.             /* [in] */ BSTR PKCS7);
  1232.         
  1233.         HRESULT ( STDMETHODCALLTYPE *getCertFromPKCS7 )( 
  1234.             ICEnroll2 * This,
  1235.             /* [in] */ BSTR wszPKCS7,
  1236.             /* [retval][out] */ BSTR *pbstrCert);
  1237.         
  1238.         HRESULT ( STDMETHODCALLTYPE *enumProviders )( 
  1239.             ICEnroll2 * This,
  1240.             /* [in] */ LONG dwIndex,
  1241.             /* [in] */ LONG dwFlags,
  1242.             /* [retval][out] */ BSTR *pbstrProvName);
  1243.         
  1244.         HRESULT ( STDMETHODCALLTYPE *enumContainers )( 
  1245.             ICEnroll2 * This,
  1246.             /* [in] */ LONG dwIndex,
  1247.             /* [retval][out] */ BSTR *pbstr);
  1248.         
  1249.         HRESULT ( STDMETHODCALLTYPE *freeRequestInfo )( 
  1250.             ICEnroll2 * This,
  1251.             /* [in] */ BSTR PKCS7OrPKCS10);
  1252.         
  1253.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MyStoreName )( 
  1254.             ICEnroll2 * This,
  1255.             /* [retval][out] */ BSTR *pbstrName);
  1256.         
  1257.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_MyStoreName )( 
  1258.             ICEnroll2 * This,
  1259.             /* [in] */ BSTR bstrName);
  1260.         
  1261.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MyStoreType )( 
  1262.             ICEnroll2 * This,
  1263.             /* [retval][out] */ BSTR *pbstrType);
  1264.         
  1265.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_MyStoreType )( 
  1266.             ICEnroll2 * This,
  1267.             /* [in] */ BSTR bstrType);
  1268.         
  1269.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MyStoreFlags )( 
  1270.             ICEnroll2 * This,
  1271.             /* [retval][out] */ LONG *pdwFlags);
  1272.         
  1273.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_MyStoreFlags )( 
  1274.             ICEnroll2 * This,
  1275.             /* [in] */ LONG dwFlags);
  1276.         
  1277.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CAStoreName )( 
  1278.             ICEnroll2 * This,
  1279.             /* [retval][out] */ BSTR *pbstrName);
  1280.         
  1281.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_CAStoreName )( 
  1282.             ICEnroll2 * This,
  1283.             /* [in] */ BSTR bstrName);
  1284.         
  1285.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CAStoreType )( 
  1286.             ICEnroll2 * This,
  1287.             /* [retval][out] */ BSTR *pbstrType);
  1288.         
  1289.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_CAStoreType )( 
  1290.             ICEnroll2 * This,
  1291.             /* [in] */ BSTR bstrType);
  1292.         
  1293.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CAStoreFlags )( 
  1294.             ICEnroll2 * This,
  1295.             /* [retval][out] */ LONG *pdwFlags);
  1296.         
  1297.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_CAStoreFlags )( 
  1298.             ICEnroll2 * This,
  1299.             /* [in] */ LONG dwFlags);
  1300.         
  1301.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RootStoreName )( 
  1302.             ICEnroll2 * This,
  1303.             /* [retval][out] */ BSTR *pbstrName);
  1304.         
  1305.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RootStoreName )( 
  1306.             ICEnroll2 * This,
  1307.             /* [in] */ BSTR bstrName);
  1308.         
  1309.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RootStoreType )( 
  1310.             ICEnroll2 * This,
  1311.             /* [retval][out] */ BSTR *pbstrType);
  1312.         
  1313.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RootStoreType )( 
  1314.             ICEnroll2 * This,
  1315.             /* [in] */ BSTR bstrType);
  1316.         
  1317.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RootStoreFlags )( 
  1318.             ICEnroll2 * This,
  1319.             /* [retval][out] */ LONG *pdwFlags);
  1320.         
  1321.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RootStoreFlags )( 
  1322.             ICEnroll2 * This,
  1323.             /* [in] */ LONG dwFlags);
  1324.         
  1325.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RequestStoreName )( 
  1326.             ICEnroll2 * This,
  1327.             /* [retval][out] */ BSTR *pbstrName);
  1328.         
  1329.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RequestStoreName )( 
  1330.             ICEnroll2 * This,
  1331.             /* [in] */ BSTR bstrName);
  1332.         
  1333.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RequestStoreType )( 
  1334.             ICEnroll2 * This,
  1335.             /* [retval][out] */ BSTR *pbstrType);
  1336.         
  1337.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RequestStoreType )( 
  1338.             ICEnroll2 * This,
  1339.             /* [in] */ BSTR bstrType);
  1340.         
  1341.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RequestStoreFlags )( 
  1342.             ICEnroll2 * This,
  1343.             /* [retval][out] */ LONG *pdwFlags);
  1344.         
  1345.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RequestStoreFlags )( 
  1346.             ICEnroll2 * This,
  1347.             /* [in] */ LONG dwFlags);
  1348.         
  1349.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ContainerName )( 
  1350.             ICEnroll2 * This,
  1351.             /* [retval][out] */ BSTR *pbstrContainer);
  1352.         
  1353.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ContainerName )( 
  1354.             ICEnroll2 * This,
  1355.             /* [in] */ BSTR bstrContainer);
  1356.         
  1357.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProviderName )( 
  1358.             ICEnroll2 * This,
  1359.             /* [retval][out] */ BSTR *pbstrProvider);
  1360.         
  1361.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ProviderName )( 
  1362.             ICEnroll2 * This,
  1363.             /* [in] */ BSTR bstrProvider);
  1364.         
  1365.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProviderType )( 
  1366.             ICEnroll2 * This,
  1367.             /* [retval][out] */ LONG *pdwType);
  1368.         
  1369.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ProviderType )( 
  1370.             ICEnroll2 * This,
  1371.             /* [in] */ LONG dwType);
  1372.         
  1373.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_KeySpec )( 
  1374.             ICEnroll2 * This,
  1375.             /* [retval][out] */ LONG *pdw);
  1376.         
  1377.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_KeySpec )( 
  1378.             ICEnroll2 * This,
  1379.             /* [in] */ LONG dw);
  1380.         
  1381.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProviderFlags )( 
  1382.             ICEnroll2 * This,
  1383.             /* [retval][out] */ LONG *pdwFlags);
  1384.         
  1385.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ProviderFlags )( 
  1386.             ICEnroll2 * This,
  1387.             /* [in] */ LONG dwFlags);
  1388.         
  1389.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_UseExistingKeySet )( 
  1390.             ICEnroll2 * This,
  1391.             /* [retval][out] */ BOOL *fUseExistingKeys);
  1392.         
  1393.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_UseExistingKeySet )( 
  1394.             ICEnroll2 * This,
  1395.             /* [in] */ BOOL fUseExistingKeys);
  1396.         
  1397.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_GenKeyFlags )( 
  1398.             ICEnroll2 * This,
  1399.             /* [retval][out] */ LONG *pdwFlags);
  1400.         
  1401.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_GenKeyFlags )( 
  1402.             ICEnroll2 * This,
  1403.             /* [in] */ LONG dwFlags);
  1404.         
  1405.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DeleteRequestCert )( 
  1406.             ICEnroll2 * This,
  1407.             /* [retval][out] */ BOOL *fDelete);
  1408.         
  1409.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DeleteRequestCert )( 
  1410.             ICEnroll2 * This,
  1411.             /* [in] */ BOOL fDelete);
  1412.         
  1413.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_WriteCertToCSP )( 
  1414.             ICEnroll2 * This,
  1415.             /* [retval][out] */ BOOL *fBool);
  1416.         
  1417.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_WriteCertToCSP )( 
  1418.             ICEnroll2 * This,
  1419.             /* [in] */ BOOL fBool);
  1420.         
  1421.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SPCFileName )( 
  1422.             ICEnroll2 * This,
  1423.             /* [retval][out] */ BSTR *pbstr);
  1424.         
  1425.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_SPCFileName )( 
  1426.             ICEnroll2 * This,
  1427.             /* [in] */ BSTR bstr);
  1428.         
  1429.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PVKFileName )( 
  1430.             ICEnroll2 * This,
  1431.             /* [retval][out] */ BSTR *pbstr);
  1432.         
  1433.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PVKFileName )( 
  1434.             ICEnroll2 * This,
  1435.             /* [in] */ BSTR bstr);
  1436.         
  1437.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HashAlgorithm )( 
  1438.             ICEnroll2 * This,
  1439.             /* [retval][out] */ BSTR *pbstr);
  1440.         
  1441.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_HashAlgorithm )( 
  1442.             ICEnroll2 * This,
  1443.             /* [in] */ BSTR bstr);
  1444.         
  1445.         HRESULT ( STDMETHODCALLTYPE *addCertTypeToRequest )( 
  1446.             ICEnroll2 * This,
  1447.             /* [in] */ BSTR CertType);
  1448.         
  1449.         HRESULT ( STDMETHODCALLTYPE *addNameValuePairToSignature )( 
  1450.             ICEnroll2 * This,
  1451.             /* [in] */ BSTR Name,
  1452.             /* [in] */ BSTR Value);
  1453.         
  1454.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_WriteCertToUserDS )( 
  1455.             ICEnroll2 * This,
  1456.             /* [retval][out] */ BOOL *fBool);
  1457.         
  1458.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_WriteCertToUserDS )( 
  1459.             ICEnroll2 * This,
  1460.             /* [in] */ BOOL fBool);
  1461.         
  1462.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_EnableT61DNEncoding )( 
  1463.             ICEnroll2 * This,
  1464.             /* [retval][out] */ BOOL *fBool);
  1465.         
  1466.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_EnableT61DNEncoding )( 
  1467.             ICEnroll2 * This,
  1468.             /* [in] */ BOOL fBool);
  1469.         
  1470.         END_INTERFACE
  1471.     } ICEnroll2Vtbl;
  1472.     interface ICEnroll2
  1473.     {
  1474.         CONST_VTBL struct ICEnroll2Vtbl *lpVtbl;
  1475.     };
  1476.     
  1477. #ifdef COBJMACROS
  1478. #define ICEnroll2_QueryInterface(This,riid,ppvObject)
  1479.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1480. #define ICEnroll2_AddRef(This)
  1481.     (This)->lpVtbl -> AddRef(This)
  1482. #define ICEnroll2_Release(This)
  1483.     (This)->lpVtbl -> Release(This)
  1484. #define ICEnroll2_GetTypeInfoCount(This,pctinfo)
  1485.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1486. #define ICEnroll2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1487.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1488. #define ICEnroll2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1489.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1490. #define ICEnroll2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1491.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1492. #define ICEnroll2_createFilePKCS10(This,DNName,Usage,wszPKCS10FileName)
  1493.     (This)->lpVtbl -> createFilePKCS10(This,DNName,Usage,wszPKCS10FileName)
  1494. #define ICEnroll2_acceptFilePKCS7(This,wszPKCS7FileName)
  1495.     (This)->lpVtbl -> acceptFilePKCS7(This,wszPKCS7FileName)
  1496. #define ICEnroll2_createPKCS10(This,DNName,Usage,pPKCS10)
  1497.     (This)->lpVtbl -> createPKCS10(This,DNName,Usage,pPKCS10)
  1498. #define ICEnroll2_acceptPKCS7(This,PKCS7)
  1499.     (This)->lpVtbl -> acceptPKCS7(This,PKCS7)
  1500. #define ICEnroll2_getCertFromPKCS7(This,wszPKCS7,pbstrCert)
  1501.     (This)->lpVtbl -> getCertFromPKCS7(This,wszPKCS7,pbstrCert)
  1502. #define ICEnroll2_enumProviders(This,dwIndex,dwFlags,pbstrProvName)
  1503.     (This)->lpVtbl -> enumProviders(This,dwIndex,dwFlags,pbstrProvName)
  1504. #define ICEnroll2_enumContainers(This,dwIndex,pbstr)
  1505.     (This)->lpVtbl -> enumContainers(This,dwIndex,pbstr)
  1506. #define ICEnroll2_freeRequestInfo(This,PKCS7OrPKCS10)
  1507.     (This)->lpVtbl -> freeRequestInfo(This,PKCS7OrPKCS10)
  1508. #define ICEnroll2_get_MyStoreName(This,pbstrName)
  1509.     (This)->lpVtbl -> get_MyStoreName(This,pbstrName)
  1510. #define ICEnroll2_put_MyStoreName(This,bstrName)
  1511.     (This)->lpVtbl -> put_MyStoreName(This,bstrName)
  1512. #define ICEnroll2_get_MyStoreType(This,pbstrType)
  1513.     (This)->lpVtbl -> get_MyStoreType(This,pbstrType)
  1514. #define ICEnroll2_put_MyStoreType(This,bstrType)
  1515.     (This)->lpVtbl -> put_MyStoreType(This,bstrType)
  1516. #define ICEnroll2_get_MyStoreFlags(This,pdwFlags)
  1517.     (This)->lpVtbl -> get_MyStoreFlags(This,pdwFlags)
  1518. #define ICEnroll2_put_MyStoreFlags(This,dwFlags)
  1519.     (This)->lpVtbl -> put_MyStoreFlags(This,dwFlags)
  1520. #define ICEnroll2_get_CAStoreName(This,pbstrName)
  1521.     (This)->lpVtbl -> get_CAStoreName(This,pbstrName)
  1522. #define ICEnroll2_put_CAStoreName(This,bstrName)
  1523.     (This)->lpVtbl -> put_CAStoreName(This,bstrName)
  1524. #define ICEnroll2_get_CAStoreType(This,pbstrType)
  1525.     (This)->lpVtbl -> get_CAStoreType(This,pbstrType)
  1526. #define ICEnroll2_put_CAStoreType(This,bstrType)
  1527.     (This)->lpVtbl -> put_CAStoreType(This,bstrType)
  1528. #define ICEnroll2_get_CAStoreFlags(This,pdwFlags)
  1529.     (This)->lpVtbl -> get_CAStoreFlags(This,pdwFlags)
  1530. #define ICEnroll2_put_CAStoreFlags(This,dwFlags)
  1531.     (This)->lpVtbl -> put_CAStoreFlags(This,dwFlags)
  1532. #define ICEnroll2_get_RootStoreName(This,pbstrName)
  1533.     (This)->lpVtbl -> get_RootStoreName(This,pbstrName)
  1534. #define ICEnroll2_put_RootStoreName(This,bstrName)
  1535.     (This)->lpVtbl -> put_RootStoreName(This,bstrName)
  1536. #define ICEnroll2_get_RootStoreType(This,pbstrType)
  1537.     (This)->lpVtbl -> get_RootStoreType(This,pbstrType)
  1538. #define ICEnroll2_put_RootStoreType(This,bstrType)
  1539.     (This)->lpVtbl -> put_RootStoreType(This,bstrType)
  1540. #define ICEnroll2_get_RootStoreFlags(This,pdwFlags)
  1541.     (This)->lpVtbl -> get_RootStoreFlags(This,pdwFlags)
  1542. #define ICEnroll2_put_RootStoreFlags(This,dwFlags)
  1543.     (This)->lpVtbl -> put_RootStoreFlags(This,dwFlags)
  1544. #define ICEnroll2_get_RequestStoreName(This,pbstrName)
  1545.     (This)->lpVtbl -> get_RequestStoreName(This,pbstrName)
  1546. #define ICEnroll2_put_RequestStoreName(This,bstrName)
  1547.     (This)->lpVtbl -> put_RequestStoreName(This,bstrName)
  1548. #define ICEnroll2_get_RequestStoreType(This,pbstrType)
  1549.     (This)->lpVtbl -> get_RequestStoreType(This,pbstrType)
  1550. #define ICEnroll2_put_RequestStoreType(This,bstrType)
  1551.     (This)->lpVtbl -> put_RequestStoreType(This,bstrType)
  1552. #define ICEnroll2_get_RequestStoreFlags(This,pdwFlags)
  1553.     (This)->lpVtbl -> get_RequestStoreFlags(This,pdwFlags)
  1554. #define ICEnroll2_put_RequestStoreFlags(This,dwFlags)
  1555.     (This)->lpVtbl -> put_RequestStoreFlags(This,dwFlags)
  1556. #define ICEnroll2_get_ContainerName(This,pbstrContainer)
  1557.     (This)->lpVtbl -> get_ContainerName(This,pbstrContainer)
  1558. #define ICEnroll2_put_ContainerName(This,bstrContainer)
  1559.     (This)->lpVtbl -> put_ContainerName(This,bstrContainer)
  1560. #define ICEnroll2_get_ProviderName(This,pbstrProvider)
  1561.     (This)->lpVtbl -> get_ProviderName(This,pbstrProvider)
  1562. #define ICEnroll2_put_ProviderName(This,bstrProvider)
  1563.     (This)->lpVtbl -> put_ProviderName(This,bstrProvider)
  1564. #define ICEnroll2_get_ProviderType(This,pdwType)
  1565.     (This)->lpVtbl -> get_ProviderType(This,pdwType)
  1566. #define ICEnroll2_put_ProviderType(This,dwType)
  1567.     (This)->lpVtbl -> put_ProviderType(This,dwType)
  1568. #define ICEnroll2_get_KeySpec(This,pdw)
  1569.     (This)->lpVtbl -> get_KeySpec(This,pdw)
  1570. #define ICEnroll2_put_KeySpec(This,dw)
  1571.     (This)->lpVtbl -> put_KeySpec(This,dw)
  1572. #define ICEnroll2_get_ProviderFlags(This,pdwFlags)
  1573.     (This)->lpVtbl -> get_ProviderFlags(This,pdwFlags)
  1574. #define ICEnroll2_put_ProviderFlags(This,dwFlags)
  1575.     (This)->lpVtbl -> put_ProviderFlags(This,dwFlags)
  1576. #define ICEnroll2_get_UseExistingKeySet(This,fUseExistingKeys)
  1577.     (This)->lpVtbl -> get_UseExistingKeySet(This,fUseExistingKeys)
  1578. #define ICEnroll2_put_UseExistingKeySet(This,fUseExistingKeys)
  1579.     (This)->lpVtbl -> put_UseExistingKeySet(This,fUseExistingKeys)
  1580. #define ICEnroll2_get_GenKeyFlags(This,pdwFlags)
  1581.     (This)->lpVtbl -> get_GenKeyFlags(This,pdwFlags)
  1582. #define ICEnroll2_put_GenKeyFlags(This,dwFlags)
  1583.     (This)->lpVtbl -> put_GenKeyFlags(This,dwFlags)
  1584. #define ICEnroll2_get_DeleteRequestCert(This,fDelete)
  1585.     (This)->lpVtbl -> get_DeleteRequestCert(This,fDelete)
  1586. #define ICEnroll2_put_DeleteRequestCert(This,fDelete)
  1587.     (This)->lpVtbl -> put_DeleteRequestCert(This,fDelete)
  1588. #define ICEnroll2_get_WriteCertToCSP(This,fBool)
  1589.     (This)->lpVtbl -> get_WriteCertToCSP(This,fBool)
  1590. #define ICEnroll2_put_WriteCertToCSP(This,fBool)
  1591.     (This)->lpVtbl -> put_WriteCertToCSP(This,fBool)
  1592. #define ICEnroll2_get_SPCFileName(This,pbstr)
  1593.     (This)->lpVtbl -> get_SPCFileName(This,pbstr)
  1594. #define ICEnroll2_put_SPCFileName(This,bstr)
  1595.     (This)->lpVtbl -> put_SPCFileName(This,bstr)
  1596. #define ICEnroll2_get_PVKFileName(This,pbstr)
  1597.     (This)->lpVtbl -> get_PVKFileName(This,pbstr)
  1598. #define ICEnroll2_put_PVKFileName(This,bstr)
  1599.     (This)->lpVtbl -> put_PVKFileName(This,bstr)
  1600. #define ICEnroll2_get_HashAlgorithm(This,pbstr)
  1601.     (This)->lpVtbl -> get_HashAlgorithm(This,pbstr)
  1602. #define ICEnroll2_put_HashAlgorithm(This,bstr)
  1603.     (This)->lpVtbl -> put_HashAlgorithm(This,bstr)
  1604. #define ICEnroll2_addCertTypeToRequest(This,CertType)
  1605.     (This)->lpVtbl -> addCertTypeToRequest(This,CertType)
  1606. #define ICEnroll2_addNameValuePairToSignature(This,Name,Value)
  1607.     (This)->lpVtbl -> addNameValuePairToSignature(This,Name,Value)
  1608. #define ICEnroll2_get_WriteCertToUserDS(This,fBool)
  1609.     (This)->lpVtbl -> get_WriteCertToUserDS(This,fBool)
  1610. #define ICEnroll2_put_WriteCertToUserDS(This,fBool)
  1611.     (This)->lpVtbl -> put_WriteCertToUserDS(This,fBool)
  1612. #define ICEnroll2_get_EnableT61DNEncoding(This,fBool)
  1613.     (This)->lpVtbl -> get_EnableT61DNEncoding(This,fBool)
  1614. #define ICEnroll2_put_EnableT61DNEncoding(This,fBool)
  1615.     (This)->lpVtbl -> put_EnableT61DNEncoding(This,fBool)
  1616. #endif /* COBJMACROS */
  1617. #endif  /* C style interface */
  1618. HRESULT STDMETHODCALLTYPE ICEnroll2_addCertTypeToRequest_Proxy( 
  1619.     ICEnroll2 * This,
  1620.     /* [in] */ BSTR CertType);
  1621. void __RPC_STUB ICEnroll2_addCertTypeToRequest_Stub(
  1622.     IRpcStubBuffer *This,
  1623.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1624.     PRPC_MESSAGE _pRpcMessage,
  1625.     DWORD *_pdwStubPhase);
  1626. HRESULT STDMETHODCALLTYPE ICEnroll2_addNameValuePairToSignature_Proxy( 
  1627.     ICEnroll2 * This,
  1628.     /* [in] */ BSTR Name,
  1629.     /* [in] */ BSTR Value);
  1630. void __RPC_STUB ICEnroll2_addNameValuePairToSignature_Stub(
  1631.     IRpcStubBuffer *This,
  1632.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1633.     PRPC_MESSAGE _pRpcMessage,
  1634.     DWORD *_pdwStubPhase);
  1635. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll2_get_WriteCertToUserDS_Proxy( 
  1636.     ICEnroll2 * This,
  1637.     /* [retval][out] */ BOOL *fBool);
  1638. void __RPC_STUB ICEnroll2_get_WriteCertToUserDS_Stub(
  1639.     IRpcStubBuffer *This,
  1640.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1641.     PRPC_MESSAGE _pRpcMessage,
  1642.     DWORD *_pdwStubPhase);
  1643. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll2_put_WriteCertToUserDS_Proxy( 
  1644.     ICEnroll2 * This,
  1645.     /* [in] */ BOOL fBool);
  1646. void __RPC_STUB ICEnroll2_put_WriteCertToUserDS_Stub(
  1647.     IRpcStubBuffer *This,
  1648.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1649.     PRPC_MESSAGE _pRpcMessage,
  1650.     DWORD *_pdwStubPhase);
  1651. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll2_get_EnableT61DNEncoding_Proxy( 
  1652.     ICEnroll2 * This,
  1653.     /* [retval][out] */ BOOL *fBool);
  1654. void __RPC_STUB ICEnroll2_get_EnableT61DNEncoding_Stub(
  1655.     IRpcStubBuffer *This,
  1656.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1657.     PRPC_MESSAGE _pRpcMessage,
  1658.     DWORD *_pdwStubPhase);
  1659. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll2_put_EnableT61DNEncoding_Proxy( 
  1660.     ICEnroll2 * This,
  1661.     /* [in] */ BOOL fBool);
  1662. void __RPC_STUB ICEnroll2_put_EnableT61DNEncoding_Stub(
  1663.     IRpcStubBuffer *This,
  1664.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1665.     PRPC_MESSAGE _pRpcMessage,
  1666.     DWORD *_pdwStubPhase);
  1667. #endif  /* __ICEnroll2_INTERFACE_DEFINED__ */
  1668. #ifndef __ICEnroll3_INTERFACE_DEFINED__
  1669. #define __ICEnroll3_INTERFACE_DEFINED__
  1670. /* interface ICEnroll3 */
  1671. /* [unique][helpstring][dual][uuid][object] */ 
  1672. EXTERN_C const IID IID_ICEnroll3;
  1673. #if defined(__cplusplus) && !defined(CINTERFACE)
  1674.     
  1675.     MIDL_INTERFACE("c28c2d95-b7de-11d2-a421-00c04f79fe8e")
  1676.     ICEnroll3 : public ICEnroll2
  1677.     {
  1678.     public:
  1679.         virtual HRESULT STDMETHODCALLTYPE InstallPKCS7( 
  1680.             /* [in] */ BSTR PKCS7) = 0;
  1681.         
  1682.         virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  1683.         
  1684.         virtual HRESULT STDMETHODCALLTYPE GetSupportedKeySpec( 
  1685.             /* [retval][out] */ LONG *pdwKeySpec) = 0;
  1686.         
  1687.         virtual HRESULT STDMETHODCALLTYPE GetKeyLen( 
  1688.             /* [in] */ BOOL fMin,
  1689.             /* [in] */ BOOL fExchange,
  1690.             /* [retval][out] */ LONG *pdwKeySize) = 0;
  1691.         
  1692.         virtual HRESULT STDMETHODCALLTYPE EnumAlgs( 
  1693.             /* [in] */ LONG dwIndex,
  1694.             /* [in] */ LONG algClass,
  1695.             /* [retval][out] */ LONG *pdwAlgID) = 0;
  1696.         
  1697.         virtual HRESULT STDMETHODCALLTYPE GetAlgName( 
  1698.             /* [in] */ LONG algID,
  1699.             /* [retval][out] */ BSTR *pbstr) = 0;
  1700.         
  1701.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ReuseHardwareKeyIfUnableToGenNew( 
  1702.             /* [in] */ BOOL fReuseHardwareKeyIfUnableToGenNew) = 0;
  1703.         
  1704.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ReuseHardwareKeyIfUnableToGenNew( 
  1705.             /* [retval][out] */ BOOL *fReuseHardwareKeyIfUnableToGenNew) = 0;
  1706.         
  1707.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_HashAlgID( 
  1708.             /* [in] */ LONG hashAlgID) = 0;
  1709.         
  1710.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HashAlgID( 
  1711.             /* [retval][out] */ LONG *hashAlgID) = 0;
  1712.         
  1713.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_LimitExchangeKeyToEncipherment( 
  1714.             /* [in] */ BOOL fLimitExchangeKeyToEncipherment) = 0;
  1715.         
  1716.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_LimitExchangeKeyToEncipherment( 
  1717.             /* [retval][out] */ BOOL *fLimitExchangeKeyToEncipherment) = 0;
  1718.         
  1719.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_EnableSMIMECapabilities( 
  1720.             /* [in] */ BOOL fEnableSMIMECapabilities) = 0;
  1721.         
  1722.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_EnableSMIMECapabilities( 
  1723.             /* [retval][out] */ BOOL *fEnableSMIMECapabilities) = 0;
  1724.         
  1725.     };
  1726.     
  1727. #else  /* C style interface */
  1728.     typedef struct ICEnroll3Vtbl
  1729.     {
  1730.         BEGIN_INTERFACE
  1731.         
  1732.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1733.             ICEnroll3 * This,
  1734.             /* [in] */ REFIID riid,
  1735.             /* [iid_is][out] */ void **ppvObject);
  1736.         
  1737.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1738.             ICEnroll3 * This);
  1739.         
  1740.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1741.             ICEnroll3 * This);
  1742.         
  1743.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  1744.             ICEnroll3 * This,
  1745.             /* [out] */ UINT *pctinfo);
  1746.         
  1747.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  1748.             ICEnroll3 * This,
  1749.             /* [in] */ UINT iTInfo,
  1750.             /* [in] */ LCID lcid,
  1751.             /* [out] */ ITypeInfo **ppTInfo);
  1752.         
  1753.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  1754.             ICEnroll3 * This,
  1755.             /* [in] */ REFIID riid,
  1756.             /* [size_is][in] */ LPOLESTR *rgszNames,
  1757.             /* [in] */ UINT cNames,
  1758.             /* [in] */ LCID lcid,
  1759.             /* [size_is][out] */ DISPID *rgDispId);
  1760.         
  1761.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  1762.             ICEnroll3 * This,
  1763.             /* [in] */ DISPID dispIdMember,
  1764.             /* [in] */ REFIID riid,
  1765.             /* [in] */ LCID lcid,
  1766.             /* [in] */ WORD wFlags,
  1767.             /* [out][in] */ DISPPARAMS *pDispParams,
  1768.             /* [out] */ VARIANT *pVarResult,
  1769.             /* [out] */ EXCEPINFO *pExcepInfo,
  1770.             /* [out] */ UINT *puArgErr);
  1771.         
  1772.         HRESULT ( STDMETHODCALLTYPE *createFilePKCS10 )( 
  1773.             ICEnroll3 * This,
  1774.             /* [in] */ BSTR DNName,
  1775.             /* [in] */ BSTR Usage,
  1776.             /* [in] */ BSTR wszPKCS10FileName);
  1777.         
  1778.         HRESULT ( STDMETHODCALLTYPE *acceptFilePKCS7 )( 
  1779.             ICEnroll3 * This,
  1780.             /* [in] */ BSTR wszPKCS7FileName);
  1781.         
  1782.         HRESULT ( STDMETHODCALLTYPE *createPKCS10 )( 
  1783.             ICEnroll3 * This,
  1784.             /* [in] */ BSTR DNName,
  1785.             /* [in] */ BSTR Usage,
  1786.             /* [retval][out] */ BSTR *pPKCS10);
  1787.         
  1788.         HRESULT ( STDMETHODCALLTYPE *acceptPKCS7 )( 
  1789.             ICEnroll3 * This,
  1790.             /* [in] */ BSTR PKCS7);
  1791.         
  1792.         HRESULT ( STDMETHODCALLTYPE *getCertFromPKCS7 )( 
  1793.             ICEnroll3 * This,
  1794.             /* [in] */ BSTR wszPKCS7,
  1795.             /* [retval][out] */ BSTR *pbstrCert);
  1796.         
  1797.         HRESULT ( STDMETHODCALLTYPE *enumProviders )( 
  1798.             ICEnroll3 * This,
  1799.             /* [in] */ LONG dwIndex,
  1800.             /* [in] */ LONG dwFlags,
  1801.             /* [retval][out] */ BSTR *pbstrProvName);
  1802.         
  1803.         HRESULT ( STDMETHODCALLTYPE *enumContainers )( 
  1804.             ICEnroll3 * This,
  1805.             /* [in] */ LONG dwIndex,
  1806.             /* [retval][out] */ BSTR *pbstr);
  1807.         
  1808.         HRESULT ( STDMETHODCALLTYPE *freeRequestInfo )( 
  1809.             ICEnroll3 * This,
  1810.             /* [in] */ BSTR PKCS7OrPKCS10);
  1811.         
  1812.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MyStoreName )( 
  1813.             ICEnroll3 * This,
  1814.             /* [retval][out] */ BSTR *pbstrName);
  1815.         
  1816.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_MyStoreName )( 
  1817.             ICEnroll3 * This,
  1818.             /* [in] */ BSTR bstrName);
  1819.         
  1820.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MyStoreType )( 
  1821.             ICEnroll3 * This,
  1822.             /* [retval][out] */ BSTR *pbstrType);
  1823.         
  1824.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_MyStoreType )( 
  1825.             ICEnroll3 * This,
  1826.             /* [in] */ BSTR bstrType);
  1827.         
  1828.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MyStoreFlags )( 
  1829.             ICEnroll3 * This,
  1830.             /* [retval][out] */ LONG *pdwFlags);
  1831.         
  1832.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_MyStoreFlags )( 
  1833.             ICEnroll3 * This,
  1834.             /* [in] */ LONG dwFlags);
  1835.         
  1836.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CAStoreName )( 
  1837.             ICEnroll3 * This,
  1838.             /* [retval][out] */ BSTR *pbstrName);
  1839.         
  1840.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_CAStoreName )( 
  1841.             ICEnroll3 * This,
  1842.             /* [in] */ BSTR bstrName);
  1843.         
  1844.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CAStoreType )( 
  1845.             ICEnroll3 * This,
  1846.             /* [retval][out] */ BSTR *pbstrType);
  1847.         
  1848.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_CAStoreType )( 
  1849.             ICEnroll3 * This,
  1850.             /* [in] */ BSTR bstrType);
  1851.         
  1852.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CAStoreFlags )( 
  1853.             ICEnroll3 * This,
  1854.             /* [retval][out] */ LONG *pdwFlags);
  1855.         
  1856.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_CAStoreFlags )( 
  1857.             ICEnroll3 * This,
  1858.             /* [in] */ LONG dwFlags);
  1859.         
  1860.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RootStoreName )( 
  1861.             ICEnroll3 * This,
  1862.             /* [retval][out] */ BSTR *pbstrName);
  1863.         
  1864.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RootStoreName )( 
  1865.             ICEnroll3 * This,
  1866.             /* [in] */ BSTR bstrName);
  1867.         
  1868.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RootStoreType )( 
  1869.             ICEnroll3 * This,
  1870.             /* [retval][out] */ BSTR *pbstrType);
  1871.         
  1872.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RootStoreType )( 
  1873.             ICEnroll3 * This,
  1874.             /* [in] */ BSTR bstrType);
  1875.         
  1876.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RootStoreFlags )( 
  1877.             ICEnroll3 * This,
  1878.             /* [retval][out] */ LONG *pdwFlags);
  1879.         
  1880.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RootStoreFlags )( 
  1881.             ICEnroll3 * This,
  1882.             /* [in] */ LONG dwFlags);
  1883.         
  1884.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RequestStoreName )( 
  1885.             ICEnroll3 * This,
  1886.             /* [retval][out] */ BSTR *pbstrName);
  1887.         
  1888.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RequestStoreName )( 
  1889.             ICEnroll3 * This,
  1890.             /* [in] */ BSTR bstrName);
  1891.         
  1892.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RequestStoreType )( 
  1893.             ICEnroll3 * This,
  1894.             /* [retval][out] */ BSTR *pbstrType);
  1895.         
  1896.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RequestStoreType )( 
  1897.             ICEnroll3 * This,
  1898.             /* [in] */ BSTR bstrType);
  1899.         
  1900.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RequestStoreFlags )( 
  1901.             ICEnroll3 * This,
  1902.             /* [retval][out] */ LONG *pdwFlags);
  1903.         
  1904.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RequestStoreFlags )( 
  1905.             ICEnroll3 * This,
  1906.             /* [in] */ LONG dwFlags);
  1907.         
  1908.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ContainerName )( 
  1909.             ICEnroll3 * This,
  1910.             /* [retval][out] */ BSTR *pbstrContainer);
  1911.         
  1912.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ContainerName )( 
  1913.             ICEnroll3 * This,
  1914.             /* [in] */ BSTR bstrContainer);
  1915.         
  1916.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProviderName )( 
  1917.             ICEnroll3 * This,
  1918.             /* [retval][out] */ BSTR *pbstrProvider);
  1919.         
  1920.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ProviderName )( 
  1921.             ICEnroll3 * This,
  1922.             /* [in] */ BSTR bstrProvider);
  1923.         
  1924.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProviderType )( 
  1925.             ICEnroll3 * This,
  1926.             /* [retval][out] */ LONG *pdwType);
  1927.         
  1928.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ProviderType )( 
  1929.             ICEnroll3 * This,
  1930.             /* [in] */ LONG dwType);
  1931.         
  1932.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_KeySpec )( 
  1933.             ICEnroll3 * This,
  1934.             /* [retval][out] */ LONG *pdw);
  1935.         
  1936.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_KeySpec )( 
  1937.             ICEnroll3 * This,
  1938.             /* [in] */ LONG dw);
  1939.         
  1940.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProviderFlags )( 
  1941.             ICEnroll3 * This,
  1942.             /* [retval][out] */ LONG *pdwFlags);
  1943.         
  1944.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ProviderFlags )( 
  1945.             ICEnroll3 * This,
  1946.             /* [in] */ LONG dwFlags);
  1947.         
  1948.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_UseExistingKeySet )( 
  1949.             ICEnroll3 * This,
  1950.             /* [retval][out] */ BOOL *fUseExistingKeys);
  1951.         
  1952.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_UseExistingKeySet )( 
  1953.             ICEnroll3 * This,
  1954.             /* [in] */ BOOL fUseExistingKeys);
  1955.         
  1956.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_GenKeyFlags )( 
  1957.             ICEnroll3 * This,
  1958.             /* [retval][out] */ LONG *pdwFlags);
  1959.         
  1960.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_GenKeyFlags )( 
  1961.             ICEnroll3 * This,
  1962.             /* [in] */ LONG dwFlags);
  1963.         
  1964.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DeleteRequestCert )( 
  1965.             ICEnroll3 * This,
  1966.             /* [retval][out] */ BOOL *fDelete);
  1967.         
  1968.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DeleteRequestCert )( 
  1969.             ICEnroll3 * This,
  1970.             /* [in] */ BOOL fDelete);
  1971.         
  1972.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_WriteCertToCSP )( 
  1973.             ICEnroll3 * This,
  1974.             /* [retval][out] */ BOOL *fBool);
  1975.         
  1976.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_WriteCertToCSP )( 
  1977.             ICEnroll3 * This,
  1978.             /* [in] */ BOOL fBool);
  1979.         
  1980.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SPCFileName )( 
  1981.             ICEnroll3 * This,
  1982.             /* [retval][out] */ BSTR *pbstr);
  1983.         
  1984.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_SPCFileName )( 
  1985.             ICEnroll3 * This,
  1986.             /* [in] */ BSTR bstr);
  1987.         
  1988.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PVKFileName )( 
  1989.             ICEnroll3 * This,
  1990.             /* [retval][out] */ BSTR *pbstr);
  1991.         
  1992.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PVKFileName )( 
  1993.             ICEnroll3 * This,
  1994.             /* [in] */ BSTR bstr);
  1995.         
  1996.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HashAlgorithm )( 
  1997.             ICEnroll3 * This,
  1998.             /* [retval][out] */ BSTR *pbstr);
  1999.         
  2000.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_HashAlgorithm )( 
  2001.             ICEnroll3 * This,
  2002.             /* [in] */ BSTR bstr);
  2003.         
  2004.         HRESULT ( STDMETHODCALLTYPE *addCertTypeToRequest )( 
  2005.             ICEnroll3 * This,
  2006.             /* [in] */ BSTR CertType);
  2007.         
  2008.         HRESULT ( STDMETHODCALLTYPE *addNameValuePairToSignature )( 
  2009.             ICEnroll3 * This,
  2010.             /* [in] */ BSTR Name,
  2011.             /* [in] */ BSTR Value);
  2012.         
  2013.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_WriteCertToUserDS )( 
  2014.             ICEnroll3 * This,
  2015.             /* [retval][out] */ BOOL *fBool);
  2016.         
  2017.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_WriteCertToUserDS )( 
  2018.             ICEnroll3 * This,
  2019.             /* [in] */ BOOL fBool);
  2020.         
  2021.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_EnableT61DNEncoding )( 
  2022.             ICEnroll3 * This,
  2023.             /* [retval][out] */ BOOL *fBool);
  2024.         
  2025.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_EnableT61DNEncoding )( 
  2026.             ICEnroll3 * This,
  2027.             /* [in] */ BOOL fBool);
  2028.         
  2029.         HRESULT ( STDMETHODCALLTYPE *InstallPKCS7 )( 
  2030.             ICEnroll3 * This,
  2031.             /* [in] */ BSTR PKCS7);
  2032.         
  2033.         HRESULT ( STDMETHODCALLTYPE *Reset )( 
  2034.             ICEnroll3 * This);
  2035.         
  2036.         HRESULT ( STDMETHODCALLTYPE *GetSupportedKeySpec )( 
  2037.             ICEnroll3 * This,
  2038.             /* [retval][out] */ LONG *pdwKeySpec);
  2039.         
  2040.         HRESULT ( STDMETHODCALLTYPE *GetKeyLen )( 
  2041.             ICEnroll3 * This,
  2042.             /* [in] */ BOOL fMin,
  2043.             /* [in] */ BOOL fExchange,
  2044.             /* [retval][out] */ LONG *pdwKeySize);
  2045.         
  2046.         HRESULT ( STDMETHODCALLTYPE *EnumAlgs )( 
  2047.             ICEnroll3 * This,
  2048.             /* [in] */ LONG dwIndex,
  2049.             /* [in] */ LONG algClass,
  2050.             /* [retval][out] */ LONG *pdwAlgID);
  2051.         
  2052.         HRESULT ( STDMETHODCALLTYPE *GetAlgName )( 
  2053.             ICEnroll3 * This,
  2054.             /* [in] */ LONG algID,
  2055.             /* [retval][out] */ BSTR *pbstr);
  2056.         
  2057.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ReuseHardwareKeyIfUnableToGenNew )( 
  2058.             ICEnroll3 * This,
  2059.             /* [in] */ BOOL fReuseHardwareKeyIfUnableToGenNew);
  2060.         
  2061.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ReuseHardwareKeyIfUnableToGenNew )( 
  2062.             ICEnroll3 * This,
  2063.             /* [retval][out] */ BOOL *fReuseHardwareKeyIfUnableToGenNew);
  2064.         
  2065.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_HashAlgID )( 
  2066.             ICEnroll3 * This,
  2067.             /* [in] */ LONG hashAlgID);
  2068.         
  2069.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HashAlgID )( 
  2070.             ICEnroll3 * This,
  2071.             /* [retval][out] */ LONG *hashAlgID);
  2072.         
  2073.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_LimitExchangeKeyToEncipherment )( 
  2074.             ICEnroll3 * This,
  2075.             /* [in] */ BOOL fLimitExchangeKeyToEncipherment);
  2076.         
  2077.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_LimitExchangeKeyToEncipherment )( 
  2078.             ICEnroll3 * This,
  2079.             /* [retval][out] */ BOOL *fLimitExchangeKeyToEncipherment);
  2080.         
  2081.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_EnableSMIMECapabilities )( 
  2082.             ICEnroll3 * This,
  2083.             /* [in] */ BOOL fEnableSMIMECapabilities);
  2084.         
  2085.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_EnableSMIMECapabilities )( 
  2086.             ICEnroll3 * This,
  2087.             /* [retval][out] */ BOOL *fEnableSMIMECapabilities);
  2088.         
  2089.         END_INTERFACE
  2090.     } ICEnroll3Vtbl;
  2091.     interface ICEnroll3
  2092.     {
  2093.         CONST_VTBL struct ICEnroll3Vtbl *lpVtbl;
  2094.     };
  2095.     
  2096. #ifdef COBJMACROS
  2097. #define ICEnroll3_QueryInterface(This,riid,ppvObject)
  2098.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2099. #define ICEnroll3_AddRef(This)
  2100.     (This)->lpVtbl -> AddRef(This)
  2101. #define ICEnroll3_Release(This)
  2102.     (This)->lpVtbl -> Release(This)
  2103. #define ICEnroll3_GetTypeInfoCount(This,pctinfo)
  2104.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  2105. #define ICEnroll3_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2106.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2107. #define ICEnroll3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2108.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2109. #define ICEnroll3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2110.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2111. #define ICEnroll3_createFilePKCS10(This,DNName,Usage,wszPKCS10FileName)
  2112.     (This)->lpVtbl -> createFilePKCS10(This,DNName,Usage,wszPKCS10FileName)
  2113. #define ICEnroll3_acceptFilePKCS7(This,wszPKCS7FileName)
  2114.     (This)->lpVtbl -> acceptFilePKCS7(This,wszPKCS7FileName)
  2115. #define ICEnroll3_createPKCS10(This,DNName,Usage,pPKCS10)
  2116.     (This)->lpVtbl -> createPKCS10(This,DNName,Usage,pPKCS10)
  2117. #define ICEnroll3_acceptPKCS7(This,PKCS7)
  2118.     (This)->lpVtbl -> acceptPKCS7(This,PKCS7)
  2119. #define ICEnroll3_getCertFromPKCS7(This,wszPKCS7,pbstrCert)
  2120.     (This)->lpVtbl -> getCertFromPKCS7(This,wszPKCS7,pbstrCert)
  2121. #define ICEnroll3_enumProviders(This,dwIndex,dwFlags,pbstrProvName)
  2122.     (This)->lpVtbl -> enumProviders(This,dwIndex,dwFlags,pbstrProvName)
  2123. #define ICEnroll3_enumContainers(This,dwIndex,pbstr)
  2124.     (This)->lpVtbl -> enumContainers(This,dwIndex,pbstr)
  2125. #define ICEnroll3_freeRequestInfo(This,PKCS7OrPKCS10)
  2126.     (This)->lpVtbl -> freeRequestInfo(This,PKCS7OrPKCS10)
  2127. #define ICEnroll3_get_MyStoreName(This,pbstrName)
  2128.     (This)->lpVtbl -> get_MyStoreName(This,pbstrName)
  2129. #define ICEnroll3_put_MyStoreName(This,bstrName)
  2130.     (This)->lpVtbl -> put_MyStoreName(This,bstrName)
  2131. #define ICEnroll3_get_MyStoreType(This,pbstrType)
  2132.     (This)->lpVtbl -> get_MyStoreType(This,pbstrType)
  2133. #define ICEnroll3_put_MyStoreType(This,bstrType)
  2134.     (This)->lpVtbl -> put_MyStoreType(This,bstrType)
  2135. #define ICEnroll3_get_MyStoreFlags(This,pdwFlags)
  2136.     (This)->lpVtbl -> get_MyStoreFlags(This,pdwFlags)
  2137. #define ICEnroll3_put_MyStoreFlags(This,dwFlags)
  2138.     (This)->lpVtbl -> put_MyStoreFlags(This,dwFlags)
  2139. #define ICEnroll3_get_CAStoreName(This,pbstrName)
  2140.     (This)->lpVtbl -> get_CAStoreName(This,pbstrName)
  2141. #define ICEnroll3_put_CAStoreName(This,bstrName)
  2142.     (This)->lpVtbl -> put_CAStoreName(This,bstrName)
  2143. #define ICEnroll3_get_CAStoreType(This,pbstrType)
  2144.     (This)->lpVtbl -> get_CAStoreType(This,pbstrType)
  2145. #define ICEnroll3_put_CAStoreType(This,bstrType)
  2146.     (This)->lpVtbl -> put_CAStoreType(This,bstrType)
  2147. #define ICEnroll3_get_CAStoreFlags(This,pdwFlags)
  2148.     (This)->lpVtbl -> get_CAStoreFlags(This,pdwFlags)
  2149. #define ICEnroll3_put_CAStoreFlags(This,dwFlags)
  2150.     (This)->lpVtbl -> put_CAStoreFlags(This,dwFlags)
  2151. #define ICEnroll3_get_RootStoreName(This,pbstrName)
  2152.     (This)->lpVtbl -> get_RootStoreName(This,pbstrName)
  2153. #define ICEnroll3_put_RootStoreName(This,bstrName)
  2154.     (This)->lpVtbl -> put_RootStoreName(This,bstrName)
  2155. #define ICEnroll3_get_RootStoreType(This,pbstrType)
  2156.     (This)->lpVtbl -> get_RootStoreType(This,pbstrType)
  2157. #define ICEnroll3_put_RootStoreType(This,bstrType)
  2158.     (This)->lpVtbl -> put_RootStoreType(This,bstrType)
  2159. #define ICEnroll3_get_RootStoreFlags(This,pdwFlags)
  2160.     (This)->lpVtbl -> get_RootStoreFlags(This,pdwFlags)
  2161. #define ICEnroll3_put_RootStoreFlags(This,dwFlags)
  2162.     (This)->lpVtbl -> put_RootStoreFlags(This,dwFlags)
  2163. #define ICEnroll3_get_RequestStoreName(This,pbstrName)
  2164.     (This)->lpVtbl -> get_RequestStoreName(This,pbstrName)
  2165. #define ICEnroll3_put_RequestStoreName(This,bstrName)
  2166.     (This)->lpVtbl -> put_RequestStoreName(This,bstrName)
  2167. #define ICEnroll3_get_RequestStoreType(This,pbstrType)
  2168.     (This)->lpVtbl -> get_RequestStoreType(This,pbstrType)
  2169. #define ICEnroll3_put_RequestStoreType(This,bstrType)
  2170.     (This)->lpVtbl -> put_RequestStoreType(This,bstrType)
  2171. #define ICEnroll3_get_RequestStoreFlags(This,pdwFlags)
  2172.     (This)->lpVtbl -> get_RequestStoreFlags(This,pdwFlags)
  2173. #define ICEnroll3_put_RequestStoreFlags(This,dwFlags)
  2174.     (This)->lpVtbl -> put_RequestStoreFlags(This,dwFlags)
  2175. #define ICEnroll3_get_ContainerName(This,pbstrContainer)
  2176.     (This)->lpVtbl -> get_ContainerName(This,pbstrContainer)
  2177. #define ICEnroll3_put_ContainerName(This,bstrContainer)
  2178.     (This)->lpVtbl -> put_ContainerName(This,bstrContainer)
  2179. #define ICEnroll3_get_ProviderName(This,pbstrProvider)
  2180.     (This)->lpVtbl -> get_ProviderName(This,pbstrProvider)
  2181. #define ICEnroll3_put_ProviderName(This,bstrProvider)
  2182.     (This)->lpVtbl -> put_ProviderName(This,bstrProvider)
  2183. #define ICEnroll3_get_ProviderType(This,pdwType)
  2184.     (This)->lpVtbl -> get_ProviderType(This,pdwType)
  2185. #define ICEnroll3_put_ProviderType(This,dwType)
  2186.     (This)->lpVtbl -> put_ProviderType(This,dwType)
  2187. #define ICEnroll3_get_KeySpec(This,pdw)
  2188.     (This)->lpVtbl -> get_KeySpec(This,pdw)
  2189. #define ICEnroll3_put_KeySpec(This,dw)
  2190.     (This)->lpVtbl -> put_KeySpec(This,dw)
  2191. #define ICEnroll3_get_ProviderFlags(This,pdwFlags)
  2192.     (This)->lpVtbl -> get_ProviderFlags(This,pdwFlags)
  2193. #define ICEnroll3_put_ProviderFlags(This,dwFlags)
  2194.     (This)->lpVtbl -> put_ProviderFlags(This,dwFlags)
  2195. #define ICEnroll3_get_UseExistingKeySet(This,fUseExistingKeys)
  2196.     (This)->lpVtbl -> get_UseExistingKeySet(This,fUseExistingKeys)
  2197. #define ICEnroll3_put_UseExistingKeySet(This,fUseExistingKeys)
  2198.     (This)->lpVtbl -> put_UseExistingKeySet(This,fUseExistingKeys)
  2199. #define ICEnroll3_get_GenKeyFlags(This,pdwFlags)
  2200.     (This)->lpVtbl -> get_GenKeyFlags(This,pdwFlags)
  2201. #define ICEnroll3_put_GenKeyFlags(This,dwFlags)
  2202.     (This)->lpVtbl -> put_GenKeyFlags(This,dwFlags)
  2203. #define ICEnroll3_get_DeleteRequestCert(This,fDelete)
  2204.     (This)->lpVtbl -> get_DeleteRequestCert(This,fDelete)
  2205. #define ICEnroll3_put_DeleteRequestCert(This,fDelete)
  2206.     (This)->lpVtbl -> put_DeleteRequestCert(This,fDelete)
  2207. #define ICEnroll3_get_WriteCertToCSP(This,fBool)
  2208.     (This)->lpVtbl -> get_WriteCertToCSP(This,fBool)
  2209. #define ICEnroll3_put_WriteCertToCSP(This,fBool)
  2210.     (This)->lpVtbl -> put_WriteCertToCSP(This,fBool)
  2211. #define ICEnroll3_get_SPCFileName(This,pbstr)
  2212.     (This)->lpVtbl -> get_SPCFileName(This,pbstr)
  2213. #define ICEnroll3_put_SPCFileName(This,bstr)
  2214.     (This)->lpVtbl -> put_SPCFileName(This,bstr)
  2215. #define ICEnroll3_get_PVKFileName(This,pbstr)
  2216.     (This)->lpVtbl -> get_PVKFileName(This,pbstr)
  2217. #define ICEnroll3_put_PVKFileName(This,bstr)
  2218.     (This)->lpVtbl -> put_PVKFileName(This,bstr)
  2219. #define ICEnroll3_get_HashAlgorithm(This,pbstr)
  2220.     (This)->lpVtbl -> get_HashAlgorithm(This,pbstr)
  2221. #define ICEnroll3_put_HashAlgorithm(This,bstr)
  2222.     (This)->lpVtbl -> put_HashAlgorithm(This,bstr)
  2223. #define ICEnroll3_addCertTypeToRequest(This,CertType)
  2224.     (This)->lpVtbl -> addCertTypeToRequest(This,CertType)
  2225. #define ICEnroll3_addNameValuePairToSignature(This,Name,Value)
  2226.     (This)->lpVtbl -> addNameValuePairToSignature(This,Name,Value)
  2227. #define ICEnroll3_get_WriteCertToUserDS(This,fBool)
  2228.     (This)->lpVtbl -> get_WriteCertToUserDS(This,fBool)
  2229. #define ICEnroll3_put_WriteCertToUserDS(This,fBool)
  2230.     (This)->lpVtbl -> put_WriteCertToUserDS(This,fBool)
  2231. #define ICEnroll3_get_EnableT61DNEncoding(This,fBool)
  2232.     (This)->lpVtbl -> get_EnableT61DNEncoding(This,fBool)
  2233. #define ICEnroll3_put_EnableT61DNEncoding(This,fBool)
  2234.     (This)->lpVtbl -> put_EnableT61DNEncoding(This,fBool)
  2235. #define ICEnroll3_InstallPKCS7(This,PKCS7)
  2236.     (This)->lpVtbl -> InstallPKCS7(This,PKCS7)
  2237. #define ICEnroll3_Reset(This)
  2238.     (This)->lpVtbl -> Reset(This)
  2239. #define ICEnroll3_GetSupportedKeySpec(This,pdwKeySpec)
  2240.     (This)->lpVtbl -> GetSupportedKeySpec(This,pdwKeySpec)
  2241. #define ICEnroll3_GetKeyLen(This,fMin,fExchange,pdwKeySize)
  2242.     (This)->lpVtbl -> GetKeyLen(This,fMin,fExchange,pdwKeySize)
  2243. #define ICEnroll3_EnumAlgs(This,dwIndex,algClass,pdwAlgID)
  2244.     (This)->lpVtbl -> EnumAlgs(This,dwIndex,algClass,pdwAlgID)
  2245. #define ICEnroll3_GetAlgName(This,algID,pbstr)
  2246.     (This)->lpVtbl -> GetAlgName(This,algID,pbstr)
  2247. #define ICEnroll3_put_ReuseHardwareKeyIfUnableToGenNew(This,fReuseHardwareKeyIfUnableToGenNew)
  2248.     (This)->lpVtbl -> put_ReuseHardwareKeyIfUnableToGenNew(This,fReuseHardwareKeyIfUnableToGenNew)
  2249. #define ICEnroll3_get_ReuseHardwareKeyIfUnableToGenNew(This,fReuseHardwareKeyIfUnableToGenNew)
  2250.     (This)->lpVtbl -> get_ReuseHardwareKeyIfUnableToGenNew(This,fReuseHardwareKeyIfUnableToGenNew)
  2251. #define ICEnroll3_put_HashAlgID(This,hashAlgID)
  2252.     (This)->lpVtbl -> put_HashAlgID(This,hashAlgID)
  2253. #define ICEnroll3_get_HashAlgID(This,hashAlgID)
  2254.     (This)->lpVtbl -> get_HashAlgID(This,hashAlgID)
  2255. #define ICEnroll3_put_LimitExchangeKeyToEncipherment(This,fLimitExchangeKeyToEncipherment)
  2256.     (This)->lpVtbl -> put_LimitExchangeKeyToEncipherment(This,fLimitExchangeKeyToEncipherment)
  2257. #define ICEnroll3_get_LimitExchangeKeyToEncipherment(This,fLimitExchangeKeyToEncipherment)
  2258.     (This)->lpVtbl -> get_LimitExchangeKeyToEncipherment(This,fLimitExchangeKeyToEncipherment)
  2259. #define ICEnroll3_put_EnableSMIMECapabilities(This,fEnableSMIMECapabilities)
  2260.     (This)->lpVtbl -> put_EnableSMIMECapabilities(This,fEnableSMIMECapabilities)
  2261. #define ICEnroll3_get_EnableSMIMECapabilities(This,fEnableSMIMECapabilities)
  2262.     (This)->lpVtbl -> get_EnableSMIMECapabilities(This,fEnableSMIMECapabilities)
  2263. #endif /* COBJMACROS */
  2264. #endif  /* C style interface */
  2265. HRESULT STDMETHODCALLTYPE ICEnroll3_InstallPKCS7_Proxy( 
  2266.     ICEnroll3 * This,
  2267.     /* [in] */ BSTR PKCS7);
  2268. void __RPC_STUB ICEnroll3_InstallPKCS7_Stub(
  2269.     IRpcStubBuffer *This,
  2270.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2271.     PRPC_MESSAGE _pRpcMessage,
  2272.     DWORD *_pdwStubPhase);
  2273. HRESULT STDMETHODCALLTYPE ICEnroll3_Reset_Proxy( 
  2274.     ICEnroll3 * This);
  2275. void __RPC_STUB ICEnroll3_Reset_Stub(
  2276.     IRpcStubBuffer *This,
  2277.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2278.     PRPC_MESSAGE _pRpcMessage,
  2279.     DWORD *_pdwStubPhase);
  2280. HRESULT STDMETHODCALLTYPE ICEnroll3_GetSupportedKeySpec_Proxy( 
  2281.     ICEnroll3 * This,
  2282.     /* [retval][out] */ LONG *pdwKeySpec);
  2283. void __RPC_STUB ICEnroll3_GetSupportedKeySpec_Stub(
  2284.     IRpcStubBuffer *This,
  2285.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2286.     PRPC_MESSAGE _pRpcMessage,
  2287.     DWORD *_pdwStubPhase);
  2288. HRESULT STDMETHODCALLTYPE ICEnroll3_GetKeyLen_Proxy( 
  2289.     ICEnroll3 * This,
  2290.     /* [in] */ BOOL fMin,
  2291.     /* [in] */ BOOL fExchange,
  2292.     /* [retval][out] */ LONG *pdwKeySize);
  2293. void __RPC_STUB ICEnroll3_GetKeyLen_Stub(
  2294.     IRpcStubBuffer *This,
  2295.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2296.     PRPC_MESSAGE _pRpcMessage,
  2297.     DWORD *_pdwStubPhase);
  2298. HRESULT STDMETHODCALLTYPE ICEnroll3_EnumAlgs_Proxy( 
  2299.     ICEnroll3 * This,
  2300.     /* [in] */ LONG dwIndex,
  2301.     /* [in] */ LONG algClass,
  2302.     /* [retval][out] */ LONG *pdwAlgID);
  2303. void __RPC_STUB ICEnroll3_EnumAlgs_Stub(
  2304.     IRpcStubBuffer *This,
  2305.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2306.     PRPC_MESSAGE _pRpcMessage,
  2307.     DWORD *_pdwStubPhase);
  2308. HRESULT STDMETHODCALLTYPE ICEnroll3_GetAlgName_Proxy( 
  2309.     ICEnroll3 * This,
  2310.     /* [in] */ LONG algID,
  2311.     /* [retval][out] */ BSTR *pbstr);