home *** CD-ROM | disk | FTP | other *** search
/ PC Format (South-Africa) 2001 May / PCFMay2001.iso / Xenon / C++ / FreeCommandLineTools.exe / Include / xenroll.h < prev    next >
Encoding:
C/C++ Source or Header  |  2000-01-31  |  200.5 KB  |  5,634 lines

  1. #pragma option push -b -a8 -pc -A- /*P_O_Push*/
  2.  
  3. #pragma warning( disable: 4049 )  /* more than 64k source lines */
  4.  
  5. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  6.  
  7.  
  8.  /* File created by MIDL compiler version 5.03.0279 */
  9. /* at Fri Jul 30 19:37:23 1999
  10.  */
  11. /* Compiler settings for xenroll.idl:
  12.     Oicf (OptLev=i2), W1, Zp8, env=Win32 (32b run), ms_ext, c_ext, robust
  13.     error checks: allocation ref bounds_check enum stub_data 
  14.     VC __declspec() decoration level: 
  15.          __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  16.          DECLSPEC_UUID(), MIDL_INTERFACE()
  17. */
  18. //@@MIDL_FILE_HEADING(  )
  19.  
  20.  
  21. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  22. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  23. #define __REQUIRED_RPCNDR_H_VERSION__ 475
  24. #endif
  25.  
  26. #include "rpc.h"
  27. #include "rpcndr.h"
  28.  
  29. #ifndef __RPCNDR_H_VERSION__
  30. #error this stub requires an updated version of <rpcndr.h>
  31. #endif // __RPCNDR_H_VERSION__
  32.  
  33. #ifndef COM_NO_WINDOWS_H
  34. #include "windows.h"
  35. #include "ole2.h"
  36. #endif /*COM_NO_WINDOWS_H*/
  37.  
  38. #ifndef __xenroll_h__
  39. #define __xenroll_h__
  40.  
  41. /* Forward Declarations */ 
  42.  
  43. #ifndef __ICEnroll_FWD_DEFINED__
  44. #define __ICEnroll_FWD_DEFINED__
  45. typedef interface ICEnroll ICEnroll;
  46. #endif     /* __ICEnroll_FWD_DEFINED__ */
  47.  
  48.  
  49. #ifndef __ICEnroll2_FWD_DEFINED__
  50. #define __ICEnroll2_FWD_DEFINED__
  51. typedef interface ICEnroll2 ICEnroll2;
  52. #endif     /* __ICEnroll2_FWD_DEFINED__ */
  53.  
  54.  
  55. #ifndef __ICEnroll3_FWD_DEFINED__
  56. #define __ICEnroll3_FWD_DEFINED__
  57. typedef interface ICEnroll3 ICEnroll3;
  58. #endif     /* __ICEnroll3_FWD_DEFINED__ */
  59.  
  60.  
  61. #ifndef __IEnroll_FWD_DEFINED__
  62. #define __IEnroll_FWD_DEFINED__
  63. typedef interface IEnroll IEnroll;
  64. #endif     /* __IEnroll_FWD_DEFINED__ */
  65.  
  66.  
  67. #ifndef __IEnroll2_FWD_DEFINED__
  68. #define __IEnroll2_FWD_DEFINED__
  69. typedef interface IEnroll2 IEnroll2;
  70. #endif     /* __IEnroll2_FWD_DEFINED__ */
  71.  
  72.  
  73. #ifndef __CEnroll_FWD_DEFINED__
  74. #define __CEnroll_FWD_DEFINED__
  75.  
  76. #ifdef __cplusplus
  77. typedef class CEnroll CEnroll;
  78. #else
  79. typedef struct CEnroll CEnroll;
  80. #endif /* __cplusplus */
  81.  
  82. #endif     /* __CEnroll_FWD_DEFINED__ */
  83.  
  84.  
  85. /* header files for imported files */
  86. #include "oaidl.h"
  87. #include "ocidl.h"
  88. #include "wincrypt.h"
  89.  
  90. #ifdef __cplusplus
  91. extern "C"{
  92. #endif 
  93.  
  94. void __RPC_FAR * __RPC_USER MIDL_user_allocate(size_t);
  95. void __RPC_USER MIDL_user_free( void __RPC_FAR * ); 
  96.  
  97. #ifndef __ICEnroll_INTERFACE_DEFINED__
  98. #define __ICEnroll_INTERFACE_DEFINED__
  99.  
  100. /* interface ICEnroll */
  101. /* [unique][helpstring][dual][uuid][object] */ 
  102.  
  103.  
  104. EXTERN_C const IID IID_ICEnroll;
  105.  
  106. #if defined(__cplusplus) && !defined(CINTERFACE)
  107.     
  108.     MIDL_INTERFACE("43F8F288-7A20-11D0-8F06-00C04FC295E1")
  109.     ICEnroll : public IDispatch
  110.     {
  111.     public:
  112.         virtual HRESULT STDMETHODCALLTYPE createFilePKCS10( 
  113.             /* [in] */ BSTR DNName,
  114.             /* [in] */ BSTR Usage,
  115.             /* [in] */ BSTR wszPKCS10FileName) = 0;
  116.         
  117.         virtual HRESULT STDMETHODCALLTYPE acceptFilePKCS7( 
  118.             /* [in] */ BSTR wszPKCS7FileName) = 0;
  119.         
  120.         virtual HRESULT STDMETHODCALLTYPE createPKCS10( 
  121.             /* [in] */ BSTR DNName,
  122.             /* [in] */ BSTR Usage,
  123.             /* [retval][out] */ BSTR __RPC_FAR *pPKCS10) = 0;
  124.         
  125.         virtual HRESULT STDMETHODCALLTYPE acceptPKCS7( 
  126.             /* [in] */ BSTR PKCS7) = 0;
  127.         
  128.         virtual HRESULT STDMETHODCALLTYPE getCertFromPKCS7( 
  129.             /* [in] */ BSTR wszPKCS7,
  130.             /* [out][retval] */ BSTR __RPC_FAR *pbstrCert) = 0;
  131.         
  132.         virtual HRESULT STDMETHODCALLTYPE enumProviders( 
  133.             /* [in] */ DWORD dwIndex,
  134.             /* [in] */ DWORD dwFlags,
  135.             /* [out][retval] */ BSTR __RPC_FAR *pbstrProvName) = 0;
  136.         
  137.         virtual HRESULT STDMETHODCALLTYPE enumContainers( 
  138.             /* [in] */ DWORD dwIndex,
  139.             /* [out][retval] */ BSTR __RPC_FAR *pbstr) = 0;
  140.         
  141.         virtual HRESULT STDMETHODCALLTYPE freeRequestInfo( 
  142.             /* [in] */ BSTR PKCS7OrPKCS10) = 0;
  143.         
  144.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MyStoreName( 
  145.             /* [retval][out] */ BSTR __RPC_FAR *pbstrName) = 0;
  146.         
  147.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_MyStoreName( 
  148.             /* [in] */ BSTR bstrName) = 0;
  149.         
  150.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MyStoreType( 
  151.             /* [retval][out] */ BSTR __RPC_FAR *pbstrType) = 0;
  152.         
  153.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_MyStoreType( 
  154.             /* [in] */ BSTR bstrType) = 0;
  155.         
  156.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MyStoreFlags( 
  157.             /* [retval][out] */ DWORD __RPC_FAR *pdwFlags) = 0;
  158.         
  159.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_MyStoreFlags( 
  160.             /* [in] */ DWORD dwFlags) = 0;
  161.         
  162.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_CAStoreName( 
  163.             /* [retval][out] */ BSTR __RPC_FAR *pbstrName) = 0;
  164.         
  165.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_CAStoreName( 
  166.             /* [in] */ BSTR bstrName) = 0;
  167.         
  168.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_CAStoreType( 
  169.             /* [retval][out] */ BSTR __RPC_FAR *pbstrType) = 0;
  170.         
  171.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_CAStoreType( 
  172.             /* [in] */ BSTR bstrType) = 0;
  173.         
  174.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_CAStoreFlags( 
  175.             /* [retval][out] */ DWORD __RPC_FAR *pdwFlags) = 0;
  176.         
  177.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_CAStoreFlags( 
  178.             /* [in] */ DWORD dwFlags) = 0;
  179.         
  180.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RootStoreName( 
  181.             /* [retval][out] */ BSTR __RPC_FAR *pbstrName) = 0;
  182.         
  183.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_RootStoreName( 
  184.             /* [in] */ BSTR bstrName) = 0;
  185.         
  186.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RootStoreType( 
  187.             /* [retval][out] */ BSTR __RPC_FAR *pbstrType) = 0;
  188.         
  189.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_RootStoreType( 
  190.             /* [in] */ BSTR bstrType) = 0;
  191.         
  192.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RootStoreFlags( 
  193.             /* [retval][out] */ DWORD __RPC_FAR *pdwFlags) = 0;
  194.         
  195.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_RootStoreFlags( 
  196.             /* [in] */ DWORD dwFlags) = 0;
  197.         
  198.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RequestStoreName( 
  199.             /* [retval][out] */ BSTR __RPC_FAR *pbstrName) = 0;
  200.         
  201.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_RequestStoreName( 
  202.             /* [in] */ BSTR bstrName) = 0;
  203.         
  204.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RequestStoreType( 
  205.             /* [retval][out] */ BSTR __RPC_FAR *pbstrType) = 0;
  206.         
  207.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_RequestStoreType( 
  208.             /* [in] */ BSTR bstrType) = 0;
  209.         
  210.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RequestStoreFlags( 
  211.             /* [retval][out] */ DWORD __RPC_FAR *pdwFlags) = 0;
  212.         
  213.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_RequestStoreFlags( 
  214.             /* [in] */ DWORD dwFlags) = 0;
  215.         
  216.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ContainerName( 
  217.             /* [retval][out] */ BSTR __RPC_FAR *pbstrContainer) = 0;
  218.         
  219.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ContainerName( 
  220.             /* [in] */ BSTR bstrContainer) = 0;
  221.         
  222.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ProviderName( 
  223.             /* [retval][out] */ BSTR __RPC_FAR *pbstrProvider) = 0;
  224.         
  225.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ProviderName( 
  226.             /* [in] */ BSTR bstrProvider) = 0;
  227.         
  228.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ProviderType( 
  229.             /* [retval][out] */ DWORD __RPC_FAR *pdwType) = 0;
  230.         
  231.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ProviderType( 
  232.             /* [in] */ DWORD dwType) = 0;
  233.         
  234.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_KeySpec( 
  235.             /* [retval][out] */ DWORD __RPC_FAR *pdw) = 0;
  236.         
  237.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_KeySpec( 
  238.             /* [in] */ DWORD dw) = 0;
  239.         
  240.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ProviderFlags( 
  241.             /* [retval][out] */ DWORD __RPC_FAR *pdwFlags) = 0;
  242.         
  243.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ProviderFlags( 
  244.             /* [in] */ DWORD dwFlags) = 0;
  245.         
  246.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_UseExistingKeySet( 
  247.             /* [retval][out] */ BOOL __RPC_FAR *fUseExistingKeys) = 0;
  248.         
  249.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_UseExistingKeySet( 
  250.             /* [in] */ BOOL fUseExistingKeys) = 0;
  251.         
  252.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_GenKeyFlags( 
  253.             /* [retval][out] */ DWORD __RPC_FAR *pdwFlags) = 0;
  254.         
  255.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_GenKeyFlags( 
  256.             /* [in] */ DWORD dwFlags) = 0;
  257.         
  258.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DeleteRequestCert( 
  259.             /* [retval][out] */ BOOL __RPC_FAR *fDelete) = 0;
  260.         
  261.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DeleteRequestCert( 
  262.             /* [in] */ BOOL fDelete) = 0;
  263.         
  264.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_WriteCertToCSP( 
  265.             /* [retval][out] */ BOOL __RPC_FAR *fBool) = 0;
  266.         
  267.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_WriteCertToCSP( 
  268.             /* [in] */ BOOL fBool) = 0;
  269.         
  270.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SPCFileName( 
  271.             /* [retval][out] */ BSTR __RPC_FAR *pbstr) = 0;
  272.         
  273.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_SPCFileName( 
  274.             /* [in] */ BSTR bstr) = 0;
  275.         
  276.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PVKFileName( 
  277.             /* [retval][out] */ BSTR __RPC_FAR *pbstr) = 0;
  278.         
  279.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_PVKFileName( 
  280.             /* [in] */ BSTR bstr) = 0;
  281.         
  282.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HashAlgorithm( 
  283.             /* [retval][out] */ BSTR __RPC_FAR *pbstr) = 0;
  284.         
  285.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_HashAlgorithm( 
  286.             /* [in] */ BSTR bstr) = 0;
  287.         
  288.     };
  289.     
  290. #else     /* C style interface */
  291.  
  292.     typedef struct ICEnrollVtbl
  293.     {
  294.         BEGIN_INTERFACE
  295.         
  296.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  297.             ICEnroll __RPC_FAR * This,
  298.             /* [in] */ REFIID riid,
  299.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  300.         
  301.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  302.             ICEnroll __RPC_FAR * This);
  303.         
  304.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  305.             ICEnroll __RPC_FAR * This);
  306.         
  307.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  308.             ICEnroll __RPC_FAR * This,
  309.             /* [out] */ UINT __RPC_FAR *pctinfo);
  310.         
  311.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  312.             ICEnroll __RPC_FAR * This,
  313.             /* [in] */ UINT iTInfo,
  314.             /* [in] */ LCID lcid,
  315.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  316.         
  317.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  318.             ICEnroll __RPC_FAR * This,
  319.             /* [in] */ REFIID riid,
  320.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  321.             /* [in] */ UINT cNames,
  322.             /* [in] */ LCID lcid,
  323.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  324.         
  325.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  326.             ICEnroll __RPC_FAR * This,
  327.             /* [in] */ DISPID dispIdMember,
  328.             /* [in] */ REFIID riid,
  329.             /* [in] */ LCID lcid,
  330.             /* [in] */ WORD wFlags,
  331.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  332.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  333.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  334.             /* [out] */ UINT __RPC_FAR *puArgErr);
  335.         
  336.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *createFilePKCS10 )( 
  337.             ICEnroll __RPC_FAR * This,
  338.             /* [in] */ BSTR DNName,
  339.             /* [in] */ BSTR Usage,
  340.             /* [in] */ BSTR wszPKCS10FileName);
  341.         
  342.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *acceptFilePKCS7 )( 
  343.             ICEnroll __RPC_FAR * This,
  344.             /* [in] */ BSTR wszPKCS7FileName);
  345.         
  346.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *createPKCS10 )( 
  347.             ICEnroll __RPC_FAR * This,
  348.             /* [in] */ BSTR DNName,
  349.             /* [in] */ BSTR Usage,
  350.             /* [retval][out] */ BSTR __RPC_FAR *pPKCS10);
  351.         
  352.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *acceptPKCS7 )( 
  353.             ICEnroll __RPC_FAR * This,
  354.             /* [in] */ BSTR PKCS7);
  355.         
  356.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *getCertFromPKCS7 )( 
  357.             ICEnroll __RPC_FAR * This,
  358.             /* [in] */ BSTR wszPKCS7,
  359.             /* [out][retval] */ BSTR __RPC_FAR *pbstrCert);
  360.         
  361.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *enumProviders )( 
  362.             ICEnroll __RPC_FAR * This,
  363.             /* [in] */ DWORD dwIndex,
  364.             /* [in] */ DWORD dwFlags,
  365.             /* [out][retval] */ BSTR __RPC_FAR *pbstrProvName);
  366.         
  367.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *enumContainers )( 
  368.             ICEnroll __RPC_FAR * This,
  369.             /* [in] */ DWORD dwIndex,
  370.             /* [out][retval] */ BSTR __RPC_FAR *pbstr);
  371.         
  372.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *freeRequestInfo )( 
  373.             ICEnroll __RPC_FAR * This,
  374.             /* [in] */ BSTR PKCS7OrPKCS10);
  375.         
  376.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_MyStoreName )( 
  377.             ICEnroll __RPC_FAR * This,
  378.             /* [retval][out] */ BSTR __RPC_FAR *pbstrName);
  379.         
  380.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_MyStoreName )( 
  381.             ICEnroll __RPC_FAR * This,
  382.             /* [in] */ BSTR bstrName);
  383.         
  384.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_MyStoreType )( 
  385.             ICEnroll __RPC_FAR * This,
  386.             /* [retval][out] */ BSTR __RPC_FAR *pbstrType);
  387.         
  388.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_MyStoreType )( 
  389.             ICEnroll __RPC_FAR * This,
  390.             /* [in] */ BSTR bstrType);
  391.         
  392.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_MyStoreFlags )( 
  393.             ICEnroll __RPC_FAR * This,
  394.             /* [retval][out] */ DWORD __RPC_FAR *pdwFlags);
  395.         
  396.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_MyStoreFlags )( 
  397.             ICEnroll __RPC_FAR * This,
  398.             /* [in] */ DWORD dwFlags);
  399.         
  400.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CAStoreName )( 
  401.             ICEnroll __RPC_FAR * This,
  402.             /* [retval][out] */ BSTR __RPC_FAR *pbstrName);
  403.         
  404.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_CAStoreName )( 
  405.             ICEnroll __RPC_FAR * This,
  406.             /* [in] */ BSTR bstrName);
  407.         
  408.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CAStoreType )( 
  409.             ICEnroll __RPC_FAR * This,
  410.             /* [retval][out] */ BSTR __RPC_FAR *pbstrType);
  411.         
  412.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_CAStoreType )( 
  413.             ICEnroll __RPC_FAR * This,
  414.             /* [in] */ BSTR bstrType);
  415.         
  416.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CAStoreFlags )( 
  417.             ICEnroll __RPC_FAR * This,
  418.             /* [retval][out] */ DWORD __RPC_FAR *pdwFlags);
  419.         
  420.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_CAStoreFlags )( 
  421.             ICEnroll __RPC_FAR * This,
  422.             /* [in] */ DWORD dwFlags);
  423.         
  424.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_RootStoreName )( 
  425.             ICEnroll __RPC_FAR * This,
  426.             /* [retval][out] */ BSTR __RPC_FAR *pbstrName);
  427.         
  428.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_RootStoreName )( 
  429.             ICEnroll __RPC_FAR * This,
  430.             /* [in] */ BSTR bstrName);
  431.         
  432.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_RootStoreType )( 
  433.             ICEnroll __RPC_FAR * This,
  434.             /* [retval][out] */ BSTR __RPC_FAR *pbstrType);
  435.         
  436.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_RootStoreType )( 
  437.             ICEnroll __RPC_FAR * This,
  438.             /* [in] */ BSTR bstrType);
  439.         
  440.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_RootStoreFlags )( 
  441.             ICEnroll __RPC_FAR * This,
  442.             /* [retval][out] */ DWORD __RPC_FAR *pdwFlags);
  443.         
  444.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_RootStoreFlags )( 
  445.             ICEnroll __RPC_FAR * This,
  446.             /* [in] */ DWORD dwFlags);
  447.         
  448.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_RequestStoreName )( 
  449.             ICEnroll __RPC_FAR * This,
  450.             /* [retval][out] */ BSTR __RPC_FAR *pbstrName);
  451.         
  452.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_RequestStoreName )( 
  453.             ICEnroll __RPC_FAR * This,
  454.             /* [in] */ BSTR bstrName);
  455.         
  456.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_RequestStoreType )( 
  457.             ICEnroll __RPC_FAR * This,
  458.             /* [retval][out] */ BSTR __RPC_FAR *pbstrType);
  459.         
  460.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_RequestStoreType )( 
  461.             ICEnroll __RPC_FAR * This,
  462.             /* [in] */ BSTR bstrType);
  463.         
  464.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_RequestStoreFlags )( 
  465.             ICEnroll __RPC_FAR * This,
  466.             /* [retval][out] */ DWORD __RPC_FAR *pdwFlags);
  467.         
  468.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_RequestStoreFlags )( 
  469.             ICEnroll __RPC_FAR * This,
  470.             /* [in] */ DWORD dwFlags);
  471.         
  472.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ContainerName )( 
  473.             ICEnroll __RPC_FAR * This,
  474.             /* [retval][out] */ BSTR __RPC_FAR *pbstrContainer);
  475.         
  476.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ContainerName )( 
  477.             ICEnroll __RPC_FAR * This,
  478.             /* [in] */ BSTR bstrContainer);
  479.         
  480.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ProviderName )( 
  481.             ICEnroll __RPC_FAR * This,
  482.             /* [retval][out] */ BSTR __RPC_FAR *pbstrProvider);
  483.         
  484.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ProviderName )( 
  485.             ICEnroll __RPC_FAR * This,
  486.             /* [in] */ BSTR bstrProvider);
  487.         
  488.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ProviderType )( 
  489.             ICEnroll __RPC_FAR * This,
  490.             /* [retval][out] */ DWORD __RPC_FAR *pdwType);
  491.         
  492.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ProviderType )( 
  493.             ICEnroll __RPC_FAR * This,
  494.             /* [in] */ DWORD dwType);
  495.         
  496.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_KeySpec )( 
  497.             ICEnroll __RPC_FAR * This,
  498.             /* [retval][out] */ DWORD __RPC_FAR *pdw);
  499.         
  500.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_KeySpec )( 
  501.             ICEnroll __RPC_FAR * This,
  502.             /* [in] */ DWORD dw);
  503.         
  504.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ProviderFlags )( 
  505.             ICEnroll __RPC_FAR * This,
  506.             /* [retval][out] */ DWORD __RPC_FAR *pdwFlags);
  507.         
  508.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ProviderFlags )( 
  509.             ICEnroll __RPC_FAR * This,
  510.             /* [in] */ DWORD dwFlags);
  511.         
  512.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_UseExistingKeySet )( 
  513.             ICEnroll __RPC_FAR * This,
  514.             /* [retval][out] */ BOOL __RPC_FAR *fUseExistingKeys);
  515.         
  516.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_UseExistingKeySet )( 
  517.             ICEnroll __RPC_FAR * This,
  518.             /* [in] */ BOOL fUseExistingKeys);
  519.         
  520.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_GenKeyFlags )( 
  521.             ICEnroll __RPC_FAR * This,
  522.             /* [retval][out] */ DWORD __RPC_FAR *pdwFlags);
  523.         
  524.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_GenKeyFlags )( 
  525.             ICEnroll __RPC_FAR * This,
  526.             /* [in] */ DWORD dwFlags);
  527.         
  528.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DeleteRequestCert )( 
  529.             ICEnroll __RPC_FAR * This,
  530.             /* [retval][out] */ BOOL __RPC_FAR *fDelete);
  531.         
  532.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DeleteRequestCert )( 
  533.             ICEnroll __RPC_FAR * This,
  534.             /* [in] */ BOOL fDelete);
  535.         
  536.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_WriteCertToCSP )( 
  537.             ICEnroll __RPC_FAR * This,
  538.             /* [retval][out] */ BOOL __RPC_FAR *fBool);
  539.         
  540.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_WriteCertToCSP )( 
  541.             ICEnroll __RPC_FAR * This,
  542.             /* [in] */ BOOL fBool);
  543.         
  544.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_SPCFileName )( 
  545.             ICEnroll __RPC_FAR * This,
  546.             /* [retval][out] */ BSTR __RPC_FAR *pbstr);
  547.         
  548.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_SPCFileName )( 
  549.             ICEnroll __RPC_FAR * This,
  550.             /* [in] */ BSTR bstr);
  551.         
  552.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_PVKFileName )( 
  553.             ICEnroll __RPC_FAR * This,
  554.             /* [retval][out] */ BSTR __RPC_FAR *pbstr);
  555.         
  556.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_PVKFileName )( 
  557.             ICEnroll __RPC_FAR * This,
  558.             /* [in] */ BSTR bstr);
  559.         
  560.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_HashAlgorithm )( 
  561.             ICEnroll __RPC_FAR * This,
  562.             /* [retval][out] */ BSTR __RPC_FAR *pbstr);
  563.         
  564.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_HashAlgorithm )( 
  565.             ICEnroll __RPC_FAR * This,
  566.             /* [in] */ BSTR bstr);
  567.         
  568.         END_INTERFACE
  569.     } ICEnrollVtbl;
  570.  
  571.     interface ICEnroll
  572.     {
  573.         CONST_VTBL struct ICEnrollVtbl __RPC_FAR *lpVtbl;
  574.     };
  575.  
  576.     
  577.  
  578. #ifdef COBJMACROS
  579.  
  580.  
  581. #define ICEnroll_QueryInterface(This,riid,ppvObject)    \
  582.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  583.  
  584. #define ICEnroll_AddRef(This)    \
  585.     (This)->lpVtbl -> AddRef(This)
  586.  
  587. #define ICEnroll_Release(This)    \
  588.     (This)->lpVtbl -> Release(This)
  589.  
  590.  
  591. #define ICEnroll_GetTypeInfoCount(This,pctinfo)    \
  592.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  593.  
  594. #define ICEnroll_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  595.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  596.  
  597. #define ICEnroll_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  598.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  599.  
  600. #define ICEnroll_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  601.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  602.  
  603.  
  604. #define ICEnroll_createFilePKCS10(This,DNName,Usage,wszPKCS10FileName)    \
  605.     (This)->lpVtbl -> createFilePKCS10(This,DNName,Usage,wszPKCS10FileName)
  606.  
  607. #define ICEnroll_acceptFilePKCS7(This,wszPKCS7FileName)    \
  608.     (This)->lpVtbl -> acceptFilePKCS7(This,wszPKCS7FileName)
  609.  
  610. #define ICEnroll_createPKCS10(This,DNName,Usage,pPKCS10)    \
  611.     (This)->lpVtbl -> createPKCS10(This,DNName,Usage,pPKCS10)
  612.  
  613. #define ICEnroll_acceptPKCS7(This,PKCS7)    \
  614.     (This)->lpVtbl -> acceptPKCS7(This,PKCS7)
  615.  
  616. #define ICEnroll_getCertFromPKCS7(This,wszPKCS7,pbstrCert)    \
  617.     (This)->lpVtbl -> getCertFromPKCS7(This,wszPKCS7,pbstrCert)
  618.  
  619. #define ICEnroll_enumProviders(This,dwIndex,dwFlags,pbstrProvName)    \
  620.     (This)->lpVtbl -> enumProviders(This,dwIndex,dwFlags,pbstrProvName)
  621.  
  622. #define ICEnroll_enumContainers(This,dwIndex,pbstr)    \
  623.     (This)->lpVtbl -> enumContainers(This,dwIndex,pbstr)
  624.  
  625. #define ICEnroll_freeRequestInfo(This,PKCS7OrPKCS10)    \
  626.     (This)->lpVtbl -> freeRequestInfo(This,PKCS7OrPKCS10)
  627.  
  628. #define ICEnroll_get_MyStoreName(This,pbstrName)    \
  629.     (This)->lpVtbl -> get_MyStoreName(This,pbstrName)
  630.  
  631. #define ICEnroll_put_MyStoreName(This,bstrName)    \
  632.     (This)->lpVtbl -> put_MyStoreName(This,bstrName)
  633.  
  634. #define ICEnroll_get_MyStoreType(This,pbstrType)    \
  635.     (This)->lpVtbl -> get_MyStoreType(This,pbstrType)
  636.  
  637. #define ICEnroll_put_MyStoreType(This,bstrType)    \
  638.     (This)->lpVtbl -> put_MyStoreType(This,bstrType)
  639.  
  640. #define ICEnroll_get_MyStoreFlags(This,pdwFlags)    \
  641.     (This)->lpVtbl -> get_MyStoreFlags(This,pdwFlags)
  642.  
  643. #define ICEnroll_put_MyStoreFlags(This,dwFlags)    \
  644.     (This)->lpVtbl -> put_MyStoreFlags(This,dwFlags)
  645.  
  646. #define ICEnroll_get_CAStoreName(This,pbstrName)    \
  647.     (This)->lpVtbl -> get_CAStoreName(This,pbstrName)
  648.  
  649. #define ICEnroll_put_CAStoreName(This,bstrName)    \
  650.     (This)->lpVtbl -> put_CAStoreName(This,bstrName)
  651.  
  652. #define ICEnroll_get_CAStoreType(This,pbstrType)    \
  653.     (This)->lpVtbl -> get_CAStoreType(This,pbstrType)
  654.  
  655. #define ICEnroll_put_CAStoreType(This,bstrType)    \
  656.     (This)->lpVtbl -> put_CAStoreType(This,bstrType)
  657.  
  658. #define ICEnroll_get_CAStoreFlags(This,pdwFlags)    \
  659.     (This)->lpVtbl -> get_CAStoreFlags(This,pdwFlags)
  660.  
  661. #define ICEnroll_put_CAStoreFlags(This,dwFlags)    \
  662.     (This)->lpVtbl -> put_CAStoreFlags(This,dwFlags)
  663.  
  664. #define ICEnroll_get_RootStoreName(This,pbstrName)    \
  665.     (This)->lpVtbl -> get_RootStoreName(This,pbstrName)
  666.  
  667. #define ICEnroll_put_RootStoreName(This,bstrName)    \
  668.     (This)->lpVtbl -> put_RootStoreName(This,bstrName)
  669.  
  670. #define ICEnroll_get_RootStoreType(This,pbstrType)    \
  671.     (This)->lpVtbl -> get_RootStoreType(This,pbstrType)
  672.  
  673. #define ICEnroll_put_RootStoreType(This,bstrType)    \
  674.     (This)->lpVtbl -> put_RootStoreType(This,bstrType)
  675.  
  676. #define ICEnroll_get_RootStoreFlags(This,pdwFlags)    \
  677.     (This)->lpVtbl -> get_RootStoreFlags(This,pdwFlags)
  678.  
  679. #define ICEnroll_put_RootStoreFlags(This,dwFlags)    \
  680.     (This)->lpVtbl -> put_RootStoreFlags(This,dwFlags)
  681.  
  682. #define ICEnroll_get_RequestStoreName(This,pbstrName)    \
  683.     (This)->lpVtbl -> get_RequestStoreName(This,pbstrName)
  684.  
  685. #define ICEnroll_put_RequestStoreName(This,bstrName)    \
  686.     (This)->lpVtbl -> put_RequestStoreName(This,bstrName)
  687.  
  688. #define ICEnroll_get_RequestStoreType(This,pbstrType)    \
  689.     (This)->lpVtbl -> get_RequestStoreType(This,pbstrType)
  690.  
  691. #define ICEnroll_put_RequestStoreType(This,bstrType)    \
  692.     (This)->lpVtbl -> put_RequestStoreType(This,bstrType)
  693.  
  694. #define ICEnroll_get_RequestStoreFlags(This,pdwFlags)    \
  695.     (This)->lpVtbl -> get_RequestStoreFlags(This,pdwFlags)
  696.  
  697. #define ICEnroll_put_RequestStoreFlags(This,dwFlags)    \
  698.     (This)->lpVtbl -> put_RequestStoreFlags(This,dwFlags)
  699.  
  700. #define ICEnroll_get_ContainerName(This,pbstrContainer)    \
  701.     (This)->lpVtbl -> get_ContainerName(This,pbstrContainer)
  702.  
  703. #define ICEnroll_put_ContainerName(This,bstrContainer)    \
  704.     (This)->lpVtbl -> put_ContainerName(This,bstrContainer)
  705.  
  706. #define ICEnroll_get_ProviderName(This,pbstrProvider)    \
  707.     (This)->lpVtbl -> get_ProviderName(This,pbstrProvider)
  708.  
  709. #define ICEnroll_put_ProviderName(This,bstrProvider)    \
  710.     (This)->lpVtbl -> put_ProviderName(This,bstrProvider)
  711.  
  712. #define ICEnroll_get_ProviderType(This,pdwType)    \
  713.     (This)->lpVtbl -> get_ProviderType(This,pdwType)
  714.  
  715. #define ICEnroll_put_ProviderType(This,dwType)    \
  716.     (This)->lpVtbl -> put_ProviderType(This,dwType)
  717.  
  718. #define ICEnroll_get_KeySpec(This,pdw)    \
  719.     (This)->lpVtbl -> get_KeySpec(This,pdw)
  720.  
  721. #define ICEnroll_put_KeySpec(This,dw)    \
  722.     (This)->lpVtbl -> put_KeySpec(This,dw)
  723.  
  724. #define ICEnroll_get_ProviderFlags(This,pdwFlags)    \
  725.     (This)->lpVtbl -> get_ProviderFlags(This,pdwFlags)
  726.  
  727. #define ICEnroll_put_ProviderFlags(This,dwFlags)    \
  728.     (This)->lpVtbl -> put_ProviderFlags(This,dwFlags)
  729.  
  730. #define ICEnroll_get_UseExistingKeySet(This,fUseExistingKeys)    \
  731.     (This)->lpVtbl -> get_UseExistingKeySet(This,fUseExistingKeys)
  732.  
  733. #define ICEnroll_put_UseExistingKeySet(This,fUseExistingKeys)    \
  734.     (This)->lpVtbl -> put_UseExistingKeySet(This,fUseExistingKeys)
  735.  
  736. #define ICEnroll_get_GenKeyFlags(This,pdwFlags)    \
  737.     (This)->lpVtbl -> get_GenKeyFlags(This,pdwFlags)
  738.  
  739. #define ICEnroll_put_GenKeyFlags(This,dwFlags)    \
  740.     (This)->lpVtbl -> put_GenKeyFlags(This,dwFlags)
  741.  
  742. #define ICEnroll_get_DeleteRequestCert(This,fDelete)    \
  743.     (This)->lpVtbl -> get_DeleteRequestCert(This,fDelete)
  744.  
  745. #define ICEnroll_put_DeleteRequestCert(This,fDelete)    \
  746.     (This)->lpVtbl -> put_DeleteRequestCert(This,fDelete)
  747.  
  748. #define ICEnroll_get_WriteCertToCSP(This,fBool)    \
  749.     (This)->lpVtbl -> get_WriteCertToCSP(This,fBool)
  750.  
  751. #define ICEnroll_put_WriteCertToCSP(This,fBool)    \
  752.     (This)->lpVtbl -> put_WriteCertToCSP(This,fBool)
  753.  
  754. #define ICEnroll_get_SPCFileName(This,pbstr)    \
  755.     (This)->lpVtbl -> get_SPCFileName(This,pbstr)
  756.  
  757. #define ICEnroll_put_SPCFileName(This,bstr)    \
  758.     (This)->lpVtbl -> put_SPCFileName(This,bstr)
  759.  
  760. #define ICEnroll_get_PVKFileName(This,pbstr)    \
  761.     (This)->lpVtbl -> get_PVKFileName(This,pbstr)
  762.  
  763. #define ICEnroll_put_PVKFileName(This,bstr)    \
  764.     (This)->lpVtbl -> put_PVKFileName(This,bstr)
  765.  
  766. #define ICEnroll_get_HashAlgorithm(This,pbstr)    \
  767.     (This)->lpVtbl -> get_HashAlgorithm(This,pbstr)
  768.  
  769. #define ICEnroll_put_HashAlgorithm(This,bstr)    \
  770.     (This)->lpVtbl -> put_HashAlgorithm(This,bstr)
  771.  
  772. #endif /* COBJMACROS */
  773.  
  774.  
  775. #endif     /* C style interface */
  776.  
  777.  
  778.  
  779. HRESULT STDMETHODCALLTYPE ICEnroll_createFilePKCS10_Proxy( 
  780.     ICEnroll __RPC_FAR * This,
  781.     /* [in] */ BSTR DNName,
  782.     /* [in] */ BSTR Usage,
  783.     /* [in] */ BSTR wszPKCS10FileName);
  784.  
  785.  
  786. void __RPC_STUB ICEnroll_createFilePKCS10_Stub(
  787.     IRpcStubBuffer *This,
  788.     IRpcChannelBuffer *_pRpcChannelBuffer,
  789.     PRPC_MESSAGE _pRpcMessage,
  790.     DWORD *_pdwStubPhase);
  791.  
  792.  
  793. HRESULT STDMETHODCALLTYPE ICEnroll_acceptFilePKCS7_Proxy( 
  794.     ICEnroll __RPC_FAR * This,
  795.     /* [in] */ BSTR wszPKCS7FileName);
  796.  
  797.  
  798. void __RPC_STUB ICEnroll_acceptFilePKCS7_Stub(
  799.     IRpcStubBuffer *This,
  800.     IRpcChannelBuffer *_pRpcChannelBuffer,
  801.     PRPC_MESSAGE _pRpcMessage,
  802.     DWORD *_pdwStubPhase);
  803.  
  804.  
  805. HRESULT STDMETHODCALLTYPE ICEnroll_createPKCS10_Proxy( 
  806.     ICEnroll __RPC_FAR * This,
  807.     /* [in] */ BSTR DNName,
  808.     /* [in] */ BSTR Usage,
  809.     /* [retval][out] */ BSTR __RPC_FAR *pPKCS10);
  810.  
  811.  
  812. void __RPC_STUB ICEnroll_createPKCS10_Stub(
  813.     IRpcStubBuffer *This,
  814.     IRpcChannelBuffer *_pRpcChannelBuffer,
  815.     PRPC_MESSAGE _pRpcMessage,
  816.     DWORD *_pdwStubPhase);
  817.  
  818.  
  819. HRESULT STDMETHODCALLTYPE ICEnroll_acceptPKCS7_Proxy( 
  820.     ICEnroll __RPC_FAR * This,
  821.     /* [in] */ BSTR PKCS7);
  822.  
  823.  
  824. void __RPC_STUB ICEnroll_acceptPKCS7_Stub(
  825.     IRpcStubBuffer *This,
  826.     IRpcChannelBuffer *_pRpcChannelBuffer,
  827.     PRPC_MESSAGE _pRpcMessage,
  828.     DWORD *_pdwStubPhase);
  829.  
  830.  
  831. HRESULT STDMETHODCALLTYPE ICEnroll_getCertFromPKCS7_Proxy( 
  832.     ICEnroll __RPC_FAR * This,
  833.     /* [in] */ BSTR wszPKCS7,
  834.     /* [out][retval] */ BSTR __RPC_FAR *pbstrCert);
  835.  
  836.  
  837. void __RPC_STUB ICEnroll_getCertFromPKCS7_Stub(
  838.     IRpcStubBuffer *This,
  839.     IRpcChannelBuffer *_pRpcChannelBuffer,
  840.     PRPC_MESSAGE _pRpcMessage,
  841.     DWORD *_pdwStubPhase);
  842.  
  843.  
  844. HRESULT STDMETHODCALLTYPE ICEnroll_enumProviders_Proxy( 
  845.     ICEnroll __RPC_FAR * This,
  846.     /* [in] */ DWORD dwIndex,
  847.     /* [in] */ DWORD dwFlags,
  848.     /* [out][retval] */ BSTR __RPC_FAR *pbstrProvName);
  849.  
  850.  
  851. void __RPC_STUB ICEnroll_enumProviders_Stub(
  852.     IRpcStubBuffer *This,
  853.     IRpcChannelBuffer *_pRpcChannelBuffer,
  854.     PRPC_MESSAGE _pRpcMessage,
  855.     DWORD *_pdwStubPhase);
  856.  
  857.  
  858. HRESULT STDMETHODCALLTYPE ICEnroll_enumContainers_Proxy( 
  859.     ICEnroll __RPC_FAR * This,
  860.     /* [in] */ DWORD dwIndex,
  861.     /* [out][retval] */ BSTR __RPC_FAR *pbstr);
  862.  
  863.  
  864. void __RPC_STUB ICEnroll_enumContainers_Stub(
  865.     IRpcStubBuffer *This,
  866.     IRpcChannelBuffer *_pRpcChannelBuffer,
  867.     PRPC_MESSAGE _pRpcMessage,
  868.     DWORD *_pdwStubPhase);
  869.  
  870.  
  871. HRESULT STDMETHODCALLTYPE ICEnroll_freeRequestInfo_Proxy( 
  872.     ICEnroll __RPC_FAR * This,
  873.     /* [in] */ BSTR PKCS7OrPKCS10);
  874.  
  875.  
  876. void __RPC_STUB ICEnroll_freeRequestInfo_Stub(
  877.     IRpcStubBuffer *This,
  878.     IRpcChannelBuffer *_pRpcChannelBuffer,
  879.     PRPC_MESSAGE _pRpcMessage,
  880.     DWORD *_pdwStubPhase);
  881.  
  882.  
  883. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll_get_MyStoreName_Proxy( 
  884.     ICEnroll __RPC_FAR * This,
  885.     /* [retval][out] */ BSTR __RPC_FAR *pbstrName);
  886.  
  887.  
  888. void __RPC_STUB ICEnroll_get_MyStoreName_Stub(
  889.     IRpcStubBuffer *This,
  890.     IRpcChannelBuffer *_pRpcChannelBuffer,
  891.     PRPC_MESSAGE _pRpcMessage,
  892.     DWORD *_pdwStubPhase);
  893.  
  894.  
  895. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll_put_MyStoreName_Proxy( 
  896.     ICEnroll __RPC_FAR * This,
  897.     /* [in] */ BSTR bstrName);
  898.  
  899.  
  900. void __RPC_STUB ICEnroll_put_MyStoreName_Stub(
  901.     IRpcStubBuffer *This,
  902.     IRpcChannelBuffer *_pRpcChannelBuffer,
  903.     PRPC_MESSAGE _pRpcMessage,
  904.     DWORD *_pdwStubPhase);
  905.  
  906.  
  907. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll_get_MyStoreType_Proxy( 
  908.     ICEnroll __RPC_FAR * This,
  909.     /* [retval][out] */ BSTR __RPC_FAR *pbstrType);
  910.  
  911.  
  912. void __RPC_STUB ICEnroll_get_MyStoreType_Stub(
  913.     IRpcStubBuffer *This,
  914.     IRpcChannelBuffer *_pRpcChannelBuffer,
  915.     PRPC_MESSAGE _pRpcMessage,
  916.     DWORD *_pdwStubPhase);
  917.  
  918.  
  919. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll_put_MyStoreType_Proxy( 
  920.     ICEnroll __RPC_FAR * This,
  921.     /* [in] */ BSTR bstrType);
  922.  
  923.  
  924. void __RPC_STUB ICEnroll_put_MyStoreType_Stub(
  925.     IRpcStubBuffer *This,
  926.     IRpcChannelBuffer *_pRpcChannelBuffer,
  927.     PRPC_MESSAGE _pRpcMessage,
  928.     DWORD *_pdwStubPhase);
  929.  
  930.  
  931. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll_get_MyStoreFlags_Proxy( 
  932.     ICEnroll __RPC_FAR * This,
  933.     /* [retval][out] */ DWORD __RPC_FAR *pdwFlags);
  934.  
  935.  
  936. void __RPC_STUB ICEnroll_get_MyStoreFlags_Stub(
  937.     IRpcStubBuffer *This,
  938.     IRpcChannelBuffer *_pRpcChannelBuffer,
  939.     PRPC_MESSAGE _pRpcMessage,
  940.     DWORD *_pdwStubPhase);
  941.  
  942.  
  943. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll_put_MyStoreFlags_Proxy( 
  944.     ICEnroll __RPC_FAR * This,
  945.     /* [in] */ DWORD dwFlags);
  946.  
  947.  
  948. void __RPC_STUB ICEnroll_put_MyStoreFlags_Stub(
  949.     IRpcStubBuffer *This,
  950.     IRpcChannelBuffer *_pRpcChannelBuffer,
  951.     PRPC_MESSAGE _pRpcMessage,
  952.     DWORD *_pdwStubPhase);
  953.  
  954.  
  955. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll_get_CAStoreName_Proxy( 
  956.     ICEnroll __RPC_FAR * This,
  957.     /* [retval][out] */ BSTR __RPC_FAR *pbstrName);
  958.  
  959.  
  960. void __RPC_STUB ICEnroll_get_CAStoreName_Stub(
  961.     IRpcStubBuffer *This,
  962.     IRpcChannelBuffer *_pRpcChannelBuffer,
  963.     PRPC_MESSAGE _pRpcMessage,
  964.     DWORD *_pdwStubPhase);
  965.  
  966.  
  967. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll_put_CAStoreName_Proxy( 
  968.     ICEnroll __RPC_FAR * This,
  969.     /* [in] */ BSTR bstrName);
  970.  
  971.  
  972. void __RPC_STUB ICEnroll_put_CAStoreName_Stub(
  973.     IRpcStubBuffer *This,
  974.     IRpcChannelBuffer *_pRpcChannelBuffer,
  975.     PRPC_MESSAGE _pRpcMessage,
  976.     DWORD *_pdwStubPhase);
  977.  
  978.  
  979. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll_get_CAStoreType_Proxy( 
  980.     ICEnroll __RPC_FAR * This,
  981.     /* [retval][out] */ BSTR __RPC_FAR *pbstrType);
  982.  
  983.  
  984. void __RPC_STUB ICEnroll_get_CAStoreType_Stub(
  985.     IRpcStubBuffer *This,
  986.     IRpcChannelBuffer *_pRpcChannelBuffer,
  987.     PRPC_MESSAGE _pRpcMessage,
  988.     DWORD *_pdwStubPhase);
  989.  
  990.  
  991. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll_put_CAStoreType_Proxy( 
  992.     ICEnroll __RPC_FAR * This,
  993.     /* [in] */ BSTR bstrType);
  994.  
  995.  
  996. void __RPC_STUB ICEnroll_put_CAStoreType_Stub(
  997.     IRpcStubBuffer *This,
  998.     IRpcChannelBuffer *_pRpcChannelBuffer,
  999.     PRPC_MESSAGE _pRpcMessage,
  1000.     DWORD *_pdwStubPhase);
  1001.  
  1002.  
  1003. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll_get_CAStoreFlags_Proxy( 
  1004.     ICEnroll __RPC_FAR * This,
  1005.     /* [retval][out] */ DWORD __RPC_FAR *pdwFlags);
  1006.  
  1007.  
  1008. void __RPC_STUB ICEnroll_get_CAStoreFlags_Stub(
  1009.     IRpcStubBuffer *This,
  1010.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1011.     PRPC_MESSAGE _pRpcMessage,
  1012.     DWORD *_pdwStubPhase);
  1013.  
  1014.  
  1015. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll_put_CAStoreFlags_Proxy( 
  1016.     ICEnroll __RPC_FAR * This,
  1017.     /* [in] */ DWORD dwFlags);
  1018.  
  1019.  
  1020. void __RPC_STUB ICEnroll_put_CAStoreFlags_Stub(
  1021.     IRpcStubBuffer *This,
  1022.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1023.     PRPC_MESSAGE _pRpcMessage,
  1024.     DWORD *_pdwStubPhase);
  1025.  
  1026.  
  1027. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll_get_RootStoreName_Proxy( 
  1028.     ICEnroll __RPC_FAR * This,
  1029.     /* [retval][out] */ BSTR __RPC_FAR *pbstrName);
  1030.  
  1031.  
  1032. void __RPC_STUB ICEnroll_get_RootStoreName_Stub(
  1033.     IRpcStubBuffer *This,
  1034.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1035.     PRPC_MESSAGE _pRpcMessage,
  1036.     DWORD *_pdwStubPhase);
  1037.  
  1038.  
  1039. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll_put_RootStoreName_Proxy( 
  1040.     ICEnroll __RPC_FAR * This,
  1041.     /* [in] */ BSTR bstrName);
  1042.  
  1043.  
  1044. void __RPC_STUB ICEnroll_put_RootStoreName_Stub(
  1045.     IRpcStubBuffer *This,
  1046.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1047.     PRPC_MESSAGE _pRpcMessage,
  1048.     DWORD *_pdwStubPhase);
  1049.  
  1050.  
  1051. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll_get_RootStoreType_Proxy( 
  1052.     ICEnroll __RPC_FAR * This,
  1053.     /* [retval][out] */ BSTR __RPC_FAR *pbstrType);
  1054.  
  1055.  
  1056. void __RPC_STUB ICEnroll_get_RootStoreType_Stub(
  1057.     IRpcStubBuffer *This,
  1058.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1059.     PRPC_MESSAGE _pRpcMessage,
  1060.     DWORD *_pdwStubPhase);
  1061.  
  1062.  
  1063. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll_put_RootStoreType_Proxy( 
  1064.     ICEnroll __RPC_FAR * This,
  1065.     /* [in] */ BSTR bstrType);
  1066.  
  1067.  
  1068. void __RPC_STUB ICEnroll_put_RootStoreType_Stub(
  1069.     IRpcStubBuffer *This,
  1070.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1071.     PRPC_MESSAGE _pRpcMessage,
  1072.     DWORD *_pdwStubPhase);
  1073.  
  1074.  
  1075. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll_get_RootStoreFlags_Proxy( 
  1076.     ICEnroll __RPC_FAR * This,
  1077.     /* [retval][out] */ DWORD __RPC_FAR *pdwFlags);
  1078.  
  1079.  
  1080. void __RPC_STUB ICEnroll_get_RootStoreFlags_Stub(
  1081.     IRpcStubBuffer *This,
  1082.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1083.     PRPC_MESSAGE _pRpcMessage,
  1084.     DWORD *_pdwStubPhase);
  1085.  
  1086.  
  1087. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll_put_RootStoreFlags_Proxy( 
  1088.     ICEnroll __RPC_FAR * This,
  1089.     /* [in] */ DWORD dwFlags);
  1090.  
  1091.  
  1092. void __RPC_STUB ICEnroll_put_RootStoreFlags_Stub(
  1093.     IRpcStubBuffer *This,
  1094.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1095.     PRPC_MESSAGE _pRpcMessage,
  1096.     DWORD *_pdwStubPhase);
  1097.  
  1098.  
  1099. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll_get_RequestStoreName_Proxy( 
  1100.     ICEnroll __RPC_FAR * This,
  1101.     /* [retval][out] */ BSTR __RPC_FAR *pbstrName);
  1102.  
  1103.  
  1104. void __RPC_STUB ICEnroll_get_RequestStoreName_Stub(
  1105.     IRpcStubBuffer *This,
  1106.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1107.     PRPC_MESSAGE _pRpcMessage,
  1108.     DWORD *_pdwStubPhase);
  1109.  
  1110.  
  1111. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll_put_RequestStoreName_Proxy( 
  1112.     ICEnroll __RPC_FAR * This,
  1113.     /* [in] */ BSTR bstrName);
  1114.  
  1115.  
  1116. void __RPC_STUB ICEnroll_put_RequestStoreName_Stub(
  1117.     IRpcStubBuffer *This,
  1118.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1119.     PRPC_MESSAGE _pRpcMessage,
  1120.     DWORD *_pdwStubPhase);
  1121.  
  1122.  
  1123. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll_get_RequestStoreType_Proxy( 
  1124.     ICEnroll __RPC_FAR * This,
  1125.     /* [retval][out] */ BSTR __RPC_FAR *pbstrType);
  1126.  
  1127.  
  1128. void __RPC_STUB ICEnroll_get_RequestStoreType_Stub(
  1129.     IRpcStubBuffer *This,
  1130.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1131.     PRPC_MESSAGE _pRpcMessage,
  1132.     DWORD *_pdwStubPhase);
  1133.  
  1134.  
  1135. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll_put_RequestStoreType_Proxy( 
  1136.     ICEnroll __RPC_FAR * This,
  1137.     /* [in] */ BSTR bstrType);
  1138.  
  1139.  
  1140. void __RPC_STUB ICEnroll_put_RequestStoreType_Stub(
  1141.     IRpcStubBuffer *This,
  1142.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1143.     PRPC_MESSAGE _pRpcMessage,
  1144.     DWORD *_pdwStubPhase);
  1145.  
  1146.  
  1147. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll_get_RequestStoreFlags_Proxy( 
  1148.     ICEnroll __RPC_FAR * This,
  1149.     /* [retval][out] */ DWORD __RPC_FAR *pdwFlags);
  1150.  
  1151.  
  1152. void __RPC_STUB ICEnroll_get_RequestStoreFlags_Stub(
  1153.     IRpcStubBuffer *This,
  1154.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1155.     PRPC_MESSAGE _pRpcMessage,
  1156.     DWORD *_pdwStubPhase);
  1157.  
  1158.  
  1159. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll_put_RequestStoreFlags_Proxy( 
  1160.     ICEnroll __RPC_FAR * This,
  1161.     /* [in] */ DWORD dwFlags);
  1162.  
  1163.  
  1164. void __RPC_STUB ICEnroll_put_RequestStoreFlags_Stub(
  1165.     IRpcStubBuffer *This,
  1166.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1167.     PRPC_MESSAGE _pRpcMessage,
  1168.     DWORD *_pdwStubPhase);
  1169.  
  1170.  
  1171. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll_get_ContainerName_Proxy( 
  1172.     ICEnroll __RPC_FAR * This,
  1173.     /* [retval][out] */ BSTR __RPC_FAR *pbstrContainer);
  1174.  
  1175.  
  1176. void __RPC_STUB ICEnroll_get_ContainerName_Stub(
  1177.     IRpcStubBuffer *This,
  1178.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1179.     PRPC_MESSAGE _pRpcMessage,
  1180.     DWORD *_pdwStubPhase);
  1181.  
  1182.  
  1183. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll_put_ContainerName_Proxy( 
  1184.     ICEnroll __RPC_FAR * This,
  1185.     /* [in] */ BSTR bstrContainer);
  1186.  
  1187.  
  1188. void __RPC_STUB ICEnroll_put_ContainerName_Stub(
  1189.     IRpcStubBuffer *This,
  1190.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1191.     PRPC_MESSAGE _pRpcMessage,
  1192.     DWORD *_pdwStubPhase);
  1193.  
  1194.  
  1195. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll_get_ProviderName_Proxy( 
  1196.     ICEnroll __RPC_FAR * This,
  1197.     /* [retval][out] */ BSTR __RPC_FAR *pbstrProvider);
  1198.  
  1199.  
  1200. void __RPC_STUB ICEnroll_get_ProviderName_Stub(
  1201.     IRpcStubBuffer *This,
  1202.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1203.     PRPC_MESSAGE _pRpcMessage,
  1204.     DWORD *_pdwStubPhase);
  1205.  
  1206.  
  1207. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll_put_ProviderName_Proxy( 
  1208.     ICEnroll __RPC_FAR * This,
  1209.     /* [in] */ BSTR bstrProvider);
  1210.  
  1211.  
  1212. void __RPC_STUB ICEnroll_put_ProviderName_Stub(
  1213.     IRpcStubBuffer *This,
  1214.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1215.     PRPC_MESSAGE _pRpcMessage,
  1216.     DWORD *_pdwStubPhase);
  1217.  
  1218.  
  1219. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll_get_ProviderType_Proxy( 
  1220.     ICEnroll __RPC_FAR * This,
  1221.     /* [retval][out] */ DWORD __RPC_FAR *pdwType);
  1222.  
  1223.  
  1224. void __RPC_STUB ICEnroll_get_ProviderType_Stub(
  1225.     IRpcStubBuffer *This,
  1226.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1227.     PRPC_MESSAGE _pRpcMessage,
  1228.     DWORD *_pdwStubPhase);
  1229.  
  1230.  
  1231. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll_put_ProviderType_Proxy( 
  1232.     ICEnroll __RPC_FAR * This,
  1233.     /* [in] */ DWORD dwType);
  1234.  
  1235.  
  1236. void __RPC_STUB ICEnroll_put_ProviderType_Stub(
  1237.     IRpcStubBuffer *This,
  1238.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1239.     PRPC_MESSAGE _pRpcMessage,
  1240.     DWORD *_pdwStubPhase);
  1241.  
  1242.  
  1243. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll_get_KeySpec_Proxy( 
  1244.     ICEnroll __RPC_FAR * This,
  1245.     /* [retval][out] */ DWORD __RPC_FAR *pdw);
  1246.  
  1247.  
  1248. void __RPC_STUB ICEnroll_get_KeySpec_Stub(
  1249.     IRpcStubBuffer *This,
  1250.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1251.     PRPC_MESSAGE _pRpcMessage,
  1252.     DWORD *_pdwStubPhase);
  1253.  
  1254.  
  1255. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll_put_KeySpec_Proxy( 
  1256.     ICEnroll __RPC_FAR * This,
  1257.     /* [in] */ DWORD dw);
  1258.  
  1259.  
  1260. void __RPC_STUB ICEnroll_put_KeySpec_Stub(
  1261.     IRpcStubBuffer *This,
  1262.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1263.     PRPC_MESSAGE _pRpcMessage,
  1264.     DWORD *_pdwStubPhase);
  1265.  
  1266.  
  1267. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll_get_ProviderFlags_Proxy( 
  1268.     ICEnroll __RPC_FAR * This,
  1269.     /* [retval][out] */ DWORD __RPC_FAR *pdwFlags);
  1270.  
  1271.  
  1272. void __RPC_STUB ICEnroll_get_ProviderFlags_Stub(
  1273.     IRpcStubBuffer *This,
  1274.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1275.     PRPC_MESSAGE _pRpcMessage,
  1276.     DWORD *_pdwStubPhase);
  1277.  
  1278.  
  1279. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll_put_ProviderFlags_Proxy( 
  1280.     ICEnroll __RPC_FAR * This,
  1281.     /* [in] */ DWORD dwFlags);
  1282.  
  1283.  
  1284. void __RPC_STUB ICEnroll_put_ProviderFlags_Stub(
  1285.     IRpcStubBuffer *This,
  1286.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1287.     PRPC_MESSAGE _pRpcMessage,
  1288.     DWORD *_pdwStubPhase);
  1289.  
  1290.  
  1291. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll_get_UseExistingKeySet_Proxy( 
  1292.     ICEnroll __RPC_FAR * This,
  1293.     /* [retval][out] */ BOOL __RPC_FAR *fUseExistingKeys);
  1294.  
  1295.  
  1296. void __RPC_STUB ICEnroll_get_UseExistingKeySet_Stub(
  1297.     IRpcStubBuffer *This,
  1298.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1299.     PRPC_MESSAGE _pRpcMessage,
  1300.     DWORD *_pdwStubPhase);
  1301.  
  1302.  
  1303. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll_put_UseExistingKeySet_Proxy( 
  1304.     ICEnroll __RPC_FAR * This,
  1305.     /* [in] */ BOOL fUseExistingKeys);
  1306.  
  1307.  
  1308. void __RPC_STUB ICEnroll_put_UseExistingKeySet_Stub(
  1309.     IRpcStubBuffer *This,
  1310.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1311.     PRPC_MESSAGE _pRpcMessage,
  1312.     DWORD *_pdwStubPhase);
  1313.  
  1314.  
  1315. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll_get_GenKeyFlags_Proxy( 
  1316.     ICEnroll __RPC_FAR * This,
  1317.     /* [retval][out] */ DWORD __RPC_FAR *pdwFlags);
  1318.  
  1319.  
  1320. void __RPC_STUB ICEnroll_get_GenKeyFlags_Stub(
  1321.     IRpcStubBuffer *This,
  1322.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1323.     PRPC_MESSAGE _pRpcMessage,
  1324.     DWORD *_pdwStubPhase);
  1325.  
  1326.  
  1327. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll_put_GenKeyFlags_Proxy( 
  1328.     ICEnroll __RPC_FAR * This,
  1329.     /* [in] */ DWORD dwFlags);
  1330.  
  1331.  
  1332. void __RPC_STUB ICEnroll_put_GenKeyFlags_Stub(
  1333.     IRpcStubBuffer *This,
  1334.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1335.     PRPC_MESSAGE _pRpcMessage,
  1336.     DWORD *_pdwStubPhase);
  1337.  
  1338.  
  1339. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll_get_DeleteRequestCert_Proxy( 
  1340.     ICEnroll __RPC_FAR * This,
  1341.     /* [retval][out] */ BOOL __RPC_FAR *fDelete);
  1342.  
  1343.  
  1344. void __RPC_STUB ICEnroll_get_DeleteRequestCert_Stub(
  1345.     IRpcStubBuffer *This,
  1346.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1347.     PRPC_MESSAGE _pRpcMessage,
  1348.     DWORD *_pdwStubPhase);
  1349.  
  1350.  
  1351. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll_put_DeleteRequestCert_Proxy( 
  1352.     ICEnroll __RPC_FAR * This,
  1353.     /* [in] */ BOOL fDelete);
  1354.  
  1355.  
  1356. void __RPC_STUB ICEnroll_put_DeleteRequestCert_Stub(
  1357.     IRpcStubBuffer *This,
  1358.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1359.     PRPC_MESSAGE _pRpcMessage,
  1360.     DWORD *_pdwStubPhase);
  1361.  
  1362.  
  1363. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll_get_WriteCertToCSP_Proxy( 
  1364.     ICEnroll __RPC_FAR * This,
  1365.     /* [retval][out] */ BOOL __RPC_FAR *fBool);
  1366.  
  1367.  
  1368. void __RPC_STUB ICEnroll_get_WriteCertToCSP_Stub(
  1369.     IRpcStubBuffer *This,
  1370.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1371.     PRPC_MESSAGE _pRpcMessage,
  1372.     DWORD *_pdwStubPhase);
  1373.  
  1374.  
  1375. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll_put_WriteCertToCSP_Proxy( 
  1376.     ICEnroll __RPC_FAR * This,
  1377.     /* [in] */ BOOL fBool);
  1378.  
  1379.  
  1380. void __RPC_STUB ICEnroll_put_WriteCertToCSP_Stub(
  1381.     IRpcStubBuffer *This,
  1382.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1383.     PRPC_MESSAGE _pRpcMessage,
  1384.     DWORD *_pdwStubPhase);
  1385.  
  1386.  
  1387. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll_get_SPCFileName_Proxy( 
  1388.     ICEnroll __RPC_FAR * This,
  1389.     /* [retval][out] */ BSTR __RPC_FAR *pbstr);
  1390.  
  1391.  
  1392. void __RPC_STUB ICEnroll_get_SPCFileName_Stub(
  1393.     IRpcStubBuffer *This,
  1394.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1395.     PRPC_MESSAGE _pRpcMessage,
  1396.     DWORD *_pdwStubPhase);
  1397.  
  1398.  
  1399. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll_put_SPCFileName_Proxy( 
  1400.     ICEnroll __RPC_FAR * This,
  1401.     /* [in] */ BSTR bstr);
  1402.  
  1403.  
  1404. void __RPC_STUB ICEnroll_put_SPCFileName_Stub(
  1405.     IRpcStubBuffer *This,
  1406.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1407.     PRPC_MESSAGE _pRpcMessage,
  1408.     DWORD *_pdwStubPhase);
  1409.  
  1410.  
  1411. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll_get_PVKFileName_Proxy( 
  1412.     ICEnroll __RPC_FAR * This,
  1413.     /* [retval][out] */ BSTR __RPC_FAR *pbstr);
  1414.  
  1415.  
  1416. void __RPC_STUB ICEnroll_get_PVKFileName_Stub(
  1417.     IRpcStubBuffer *This,
  1418.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1419.     PRPC_MESSAGE _pRpcMessage,
  1420.     DWORD *_pdwStubPhase);
  1421.  
  1422.  
  1423. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll_put_PVKFileName_Proxy( 
  1424.     ICEnroll __RPC_FAR * This,
  1425.     /* [in] */ BSTR bstr);
  1426.  
  1427.  
  1428. void __RPC_STUB ICEnroll_put_PVKFileName_Stub(
  1429.     IRpcStubBuffer *This,
  1430.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1431.     PRPC_MESSAGE _pRpcMessage,
  1432.     DWORD *_pdwStubPhase);
  1433.  
  1434.  
  1435. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll_get_HashAlgorithm_Proxy( 
  1436.     ICEnroll __RPC_FAR * This,
  1437.     /* [retval][out] */ BSTR __RPC_FAR *pbstr);
  1438.  
  1439.  
  1440. void __RPC_STUB ICEnroll_get_HashAlgorithm_Stub(
  1441.     IRpcStubBuffer *This,
  1442.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1443.     PRPC_MESSAGE _pRpcMessage,
  1444.     DWORD *_pdwStubPhase);
  1445.  
  1446.  
  1447. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll_put_HashAlgorithm_Proxy( 
  1448.     ICEnroll __RPC_FAR * This,
  1449.     /* [in] */ BSTR bstr);
  1450.  
  1451.  
  1452. void __RPC_STUB ICEnroll_put_HashAlgorithm_Stub(
  1453.     IRpcStubBuffer *This,
  1454.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1455.     PRPC_MESSAGE _pRpcMessage,
  1456.     DWORD *_pdwStubPhase);
  1457.  
  1458.  
  1459.  
  1460. #endif     /* __ICEnroll_INTERFACE_DEFINED__ */
  1461.  
  1462.  
  1463. #ifndef __ICEnroll2_INTERFACE_DEFINED__
  1464. #define __ICEnroll2_INTERFACE_DEFINED__
  1465.  
  1466. /* interface ICEnroll2 */
  1467. /* [unique][helpstring][dual][uuid][object] */ 
  1468.  
  1469.  
  1470. EXTERN_C const IID IID_ICEnroll2;
  1471.  
  1472. #if defined(__cplusplus) && !defined(CINTERFACE)
  1473.     
  1474.     MIDL_INTERFACE("704ca730-c90b-11d1-9bec-00c04fc295e1")
  1475.     ICEnroll2 : public ICEnroll
  1476.     {
  1477.     public:
  1478.         virtual HRESULT STDMETHODCALLTYPE addCertTypeToRequest( 
  1479.             /* [in] */ BSTR CertType) = 0;
  1480.         
  1481.         virtual HRESULT STDMETHODCALLTYPE addNameValuePairToSignature( 
  1482.             /* [in] */ BSTR Name,
  1483.             /* [in] */ BSTR Value) = 0;
  1484.         
  1485.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_WriteCertToUserDS( 
  1486.             /* [retval][out] */ BOOL __RPC_FAR *fBool) = 0;
  1487.         
  1488.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_WriteCertToUserDS( 
  1489.             /* [in] */ BOOL fBool) = 0;
  1490.         
  1491.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_EnableT61DNEncoding( 
  1492.             /* [retval][out] */ BOOL __RPC_FAR *fBool) = 0;
  1493.         
  1494.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_EnableT61DNEncoding( 
  1495.             /* [in] */ BOOL fBool) = 0;
  1496.         
  1497.     };
  1498.     
  1499. #else     /* C style interface */
  1500.  
  1501.     typedef struct ICEnroll2Vtbl
  1502.     {
  1503.         BEGIN_INTERFACE
  1504.         
  1505.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  1506.             ICEnroll2 __RPC_FAR * This,
  1507.             /* [in] */ REFIID riid,
  1508.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1509.         
  1510.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  1511.             ICEnroll2 __RPC_FAR * This);
  1512.         
  1513.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  1514.             ICEnroll2 __RPC_FAR * This);
  1515.         
  1516.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  1517.             ICEnroll2 __RPC_FAR * This,
  1518.             /* [out] */ UINT __RPC_FAR *pctinfo);
  1519.         
  1520.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  1521.             ICEnroll2 __RPC_FAR * This,
  1522.             /* [in] */ UINT iTInfo,
  1523.             /* [in] */ LCID lcid,
  1524.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  1525.         
  1526.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  1527.             ICEnroll2 __RPC_FAR * This,
  1528.             /* [in] */ REFIID riid,
  1529.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  1530.             /* [in] */ UINT cNames,
  1531.             /* [in] */ LCID lcid,
  1532.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  1533.         
  1534.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  1535.             ICEnroll2 __RPC_FAR * This,
  1536.             /* [in] */ DISPID dispIdMember,
  1537.             /* [in] */ REFIID riid,
  1538.             /* [in] */ LCID lcid,
  1539.             /* [in] */ WORD wFlags,
  1540.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  1541.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  1542.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  1543.             /* [out] */ UINT __RPC_FAR *puArgErr);
  1544.         
  1545.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *createFilePKCS10 )( 
  1546.             ICEnroll2 __RPC_FAR * This,
  1547.             /* [in] */ BSTR DNName,
  1548.             /* [in] */ BSTR Usage,
  1549.             /* [in] */ BSTR wszPKCS10FileName);
  1550.         
  1551.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *acceptFilePKCS7 )( 
  1552.             ICEnroll2 __RPC_FAR * This,
  1553.             /* [in] */ BSTR wszPKCS7FileName);
  1554.         
  1555.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *createPKCS10 )( 
  1556.             ICEnroll2 __RPC_FAR * This,
  1557.             /* [in] */ BSTR DNName,
  1558.             /* [in] */ BSTR Usage,
  1559.             /* [retval][out] */ BSTR __RPC_FAR *pPKCS10);
  1560.         
  1561.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *acceptPKCS7 )( 
  1562.             ICEnroll2 __RPC_FAR * This,
  1563.             /* [in] */ BSTR PKCS7);
  1564.         
  1565.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *getCertFromPKCS7 )( 
  1566.             ICEnroll2 __RPC_FAR * This,
  1567.             /* [in] */ BSTR wszPKCS7,
  1568.             /* [out][retval] */ BSTR __RPC_FAR *pbstrCert);
  1569.         
  1570.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *enumProviders )( 
  1571.             ICEnroll2 __RPC_FAR * This,
  1572.             /* [in] */ DWORD dwIndex,
  1573.             /* [in] */ DWORD dwFlags,
  1574.             /* [out][retval] */ BSTR __RPC_FAR *pbstrProvName);
  1575.         
  1576.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *enumContainers )( 
  1577.             ICEnroll2 __RPC_FAR * This,
  1578.             /* [in] */ DWORD dwIndex,
  1579.             /* [out][retval] */ BSTR __RPC_FAR *pbstr);
  1580.         
  1581.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *freeRequestInfo )( 
  1582.             ICEnroll2 __RPC_FAR * This,
  1583.             /* [in] */ BSTR PKCS7OrPKCS10);
  1584.         
  1585.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_MyStoreName )( 
  1586.             ICEnroll2 __RPC_FAR * This,
  1587.             /* [retval][out] */ BSTR __RPC_FAR *pbstrName);
  1588.         
  1589.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_MyStoreName )( 
  1590.             ICEnroll2 __RPC_FAR * This,
  1591.             /* [in] */ BSTR bstrName);
  1592.         
  1593.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_MyStoreType )( 
  1594.             ICEnroll2 __RPC_FAR * This,
  1595.             /* [retval][out] */ BSTR __RPC_FAR *pbstrType);
  1596.         
  1597.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_MyStoreType )( 
  1598.             ICEnroll2 __RPC_FAR * This,
  1599.             /* [in] */ BSTR bstrType);
  1600.         
  1601.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_MyStoreFlags )( 
  1602.             ICEnroll2 __RPC_FAR * This,
  1603.             /* [retval][out] */ DWORD __RPC_FAR *pdwFlags);
  1604.         
  1605.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_MyStoreFlags )( 
  1606.             ICEnroll2 __RPC_FAR * This,
  1607.             /* [in] */ DWORD dwFlags);
  1608.         
  1609.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CAStoreName )( 
  1610.             ICEnroll2 __RPC_FAR * This,
  1611.             /* [retval][out] */ BSTR __RPC_FAR *pbstrName);
  1612.         
  1613.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_CAStoreName )( 
  1614.             ICEnroll2 __RPC_FAR * This,
  1615.             /* [in] */ BSTR bstrName);
  1616.         
  1617.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CAStoreType )( 
  1618.             ICEnroll2 __RPC_FAR * This,
  1619.             /* [retval][out] */ BSTR __RPC_FAR *pbstrType);
  1620.         
  1621.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_CAStoreType )( 
  1622.             ICEnroll2 __RPC_FAR * This,
  1623.             /* [in] */ BSTR bstrType);
  1624.         
  1625.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CAStoreFlags )( 
  1626.             ICEnroll2 __RPC_FAR * This,
  1627.             /* [retval][out] */ DWORD __RPC_FAR *pdwFlags);
  1628.         
  1629.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_CAStoreFlags )( 
  1630.             ICEnroll2 __RPC_FAR * This,
  1631.             /* [in] */ DWORD dwFlags);
  1632.         
  1633.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_RootStoreName )( 
  1634.             ICEnroll2 __RPC_FAR * This,
  1635.             /* [retval][out] */ BSTR __RPC_FAR *pbstrName);
  1636.         
  1637.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_RootStoreName )( 
  1638.             ICEnroll2 __RPC_FAR * This,
  1639.             /* [in] */ BSTR bstrName);
  1640.         
  1641.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_RootStoreType )( 
  1642.             ICEnroll2 __RPC_FAR * This,
  1643.             /* [retval][out] */ BSTR __RPC_FAR *pbstrType);
  1644.         
  1645.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_RootStoreType )( 
  1646.             ICEnroll2 __RPC_FAR * This,
  1647.             /* [in] */ BSTR bstrType);
  1648.         
  1649.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_RootStoreFlags )( 
  1650.             ICEnroll2 __RPC_FAR * This,
  1651.             /* [retval][out] */ DWORD __RPC_FAR *pdwFlags);
  1652.         
  1653.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_RootStoreFlags )( 
  1654.             ICEnroll2 __RPC_FAR * This,
  1655.             /* [in] */ DWORD dwFlags);
  1656.         
  1657.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_RequestStoreName )( 
  1658.             ICEnroll2 __RPC_FAR * This,
  1659.             /* [retval][out] */ BSTR __RPC_FAR *pbstrName);
  1660.         
  1661.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_RequestStoreName )( 
  1662.             ICEnroll2 __RPC_FAR * This,
  1663.             /* [in] */ BSTR bstrName);
  1664.         
  1665.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_RequestStoreType )( 
  1666.             ICEnroll2 __RPC_FAR * This,
  1667.             /* [retval][out] */ BSTR __RPC_FAR *pbstrType);
  1668.         
  1669.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_RequestStoreType )( 
  1670.             ICEnroll2 __RPC_FAR * This,
  1671.             /* [in] */ BSTR bstrType);
  1672.         
  1673.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_RequestStoreFlags )( 
  1674.             ICEnroll2 __RPC_FAR * This,
  1675.             /* [retval][out] */ DWORD __RPC_FAR *pdwFlags);
  1676.         
  1677.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_RequestStoreFlags )( 
  1678.             ICEnroll2 __RPC_FAR * This,
  1679.             /* [in] */ DWORD dwFlags);
  1680.         
  1681.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ContainerName )( 
  1682.             ICEnroll2 __RPC_FAR * This,
  1683.             /* [retval][out] */ BSTR __RPC_FAR *pbstrContainer);
  1684.         
  1685.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ContainerName )( 
  1686.             ICEnroll2 __RPC_FAR * This,
  1687.             /* [in] */ BSTR bstrContainer);
  1688.         
  1689.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ProviderName )( 
  1690.             ICEnroll2 __RPC_FAR * This,
  1691.             /* [retval][out] */ BSTR __RPC_FAR *pbstrProvider);
  1692.         
  1693.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ProviderName )( 
  1694.             ICEnroll2 __RPC_FAR * This,
  1695.             /* [in] */ BSTR bstrProvider);
  1696.         
  1697.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ProviderType )( 
  1698.             ICEnroll2 __RPC_FAR * This,
  1699.             /* [retval][out] */ DWORD __RPC_FAR *pdwType);
  1700.         
  1701.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ProviderType )( 
  1702.             ICEnroll2 __RPC_FAR * This,
  1703.             /* [in] */ DWORD dwType);
  1704.         
  1705.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_KeySpec )( 
  1706.             ICEnroll2 __RPC_FAR * This,
  1707.             /* [retval][out] */ DWORD __RPC_FAR *pdw);
  1708.         
  1709.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_KeySpec )( 
  1710.             ICEnroll2 __RPC_FAR * This,
  1711.             /* [in] */ DWORD dw);
  1712.         
  1713.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ProviderFlags )( 
  1714.             ICEnroll2 __RPC_FAR * This,
  1715.             /* [retval][out] */ DWORD __RPC_FAR *pdwFlags);
  1716.         
  1717.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ProviderFlags )( 
  1718.             ICEnroll2 __RPC_FAR * This,
  1719.             /* [in] */ DWORD dwFlags);
  1720.         
  1721.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_UseExistingKeySet )( 
  1722.             ICEnroll2 __RPC_FAR * This,
  1723.             /* [retval][out] */ BOOL __RPC_FAR *fUseExistingKeys);
  1724.         
  1725.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_UseExistingKeySet )( 
  1726.             ICEnroll2 __RPC_FAR * This,
  1727.             /* [in] */ BOOL fUseExistingKeys);
  1728.         
  1729.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_GenKeyFlags )( 
  1730.             ICEnroll2 __RPC_FAR * This,
  1731.             /* [retval][out] */ DWORD __RPC_FAR *pdwFlags);
  1732.         
  1733.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_GenKeyFlags )( 
  1734.             ICEnroll2 __RPC_FAR * This,
  1735.             /* [in] */ DWORD dwFlags);
  1736.         
  1737.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DeleteRequestCert )( 
  1738.             ICEnroll2 __RPC_FAR * This,
  1739.             /* [retval][out] */ BOOL __RPC_FAR *fDelete);
  1740.         
  1741.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DeleteRequestCert )( 
  1742.             ICEnroll2 __RPC_FAR * This,
  1743.             /* [in] */ BOOL fDelete);
  1744.         
  1745.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_WriteCertToCSP )( 
  1746.             ICEnroll2 __RPC_FAR * This,
  1747.             /* [retval][out] */ BOOL __RPC_FAR *fBool);
  1748.         
  1749.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_WriteCertToCSP )( 
  1750.             ICEnroll2 __RPC_FAR * This,
  1751.             /* [in] */ BOOL fBool);
  1752.         
  1753.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_SPCFileName )( 
  1754.             ICEnroll2 __RPC_FAR * This,
  1755.             /* [retval][out] */ BSTR __RPC_FAR *pbstr);
  1756.         
  1757.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_SPCFileName )( 
  1758.             ICEnroll2 __RPC_FAR * This,
  1759.             /* [in] */ BSTR bstr);
  1760.         
  1761.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_PVKFileName )( 
  1762.             ICEnroll2 __RPC_FAR * This,
  1763.             /* [retval][out] */ BSTR __RPC_FAR *pbstr);
  1764.         
  1765.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_PVKFileName )( 
  1766.             ICEnroll2 __RPC_FAR * This,
  1767.             /* [in] */ BSTR bstr);
  1768.         
  1769.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_HashAlgorithm )( 
  1770.             ICEnroll2 __RPC_FAR * This,
  1771.             /* [retval][out] */ BSTR __RPC_FAR *pbstr);
  1772.         
  1773.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_HashAlgorithm )( 
  1774.             ICEnroll2 __RPC_FAR * This,
  1775.             /* [in] */ BSTR bstr);
  1776.         
  1777.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *addCertTypeToRequest )( 
  1778.             ICEnroll2 __RPC_FAR * This,
  1779.             /* [in] */ BSTR CertType);
  1780.         
  1781.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *addNameValuePairToSignature )( 
  1782.             ICEnroll2 __RPC_FAR * This,
  1783.             /* [in] */ BSTR Name,
  1784.             /* [in] */ BSTR Value);
  1785.         
  1786.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_WriteCertToUserDS )( 
  1787.             ICEnroll2 __RPC_FAR * This,
  1788.             /* [retval][out] */ BOOL __RPC_FAR *fBool);
  1789.         
  1790.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_WriteCertToUserDS )( 
  1791.             ICEnroll2 __RPC_FAR * This,
  1792.             /* [in] */ BOOL fBool);
  1793.         
  1794.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EnableT61DNEncoding )( 
  1795.             ICEnroll2 __RPC_FAR * This,
  1796.             /* [retval][out] */ BOOL __RPC_FAR *fBool);
  1797.         
  1798.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_EnableT61DNEncoding )( 
  1799.             ICEnroll2 __RPC_FAR * This,
  1800.             /* [in] */ BOOL fBool);
  1801.         
  1802.         END_INTERFACE
  1803.     } ICEnroll2Vtbl;
  1804.  
  1805.     interface ICEnroll2
  1806.     {
  1807.         CONST_VTBL struct ICEnroll2Vtbl __RPC_FAR *lpVtbl;
  1808.     };
  1809.  
  1810.     
  1811.  
  1812. #ifdef COBJMACROS
  1813.  
  1814.  
  1815. #define ICEnroll2_QueryInterface(This,riid,ppvObject)    \
  1816.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1817.  
  1818. #define ICEnroll2_AddRef(This)    \
  1819.     (This)->lpVtbl -> AddRef(This)
  1820.  
  1821. #define ICEnroll2_Release(This)    \
  1822.     (This)->lpVtbl -> Release(This)
  1823.  
  1824.  
  1825. #define ICEnroll2_GetTypeInfoCount(This,pctinfo)    \
  1826.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1827.  
  1828. #define ICEnroll2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  1829.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1830.  
  1831. #define ICEnroll2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  1832.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1833.  
  1834. #define ICEnroll2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  1835.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1836.  
  1837.  
  1838. #define ICEnroll2_createFilePKCS10(This,DNName,Usage,wszPKCS10FileName)    \
  1839.     (This)->lpVtbl -> createFilePKCS10(This,DNName,Usage,wszPKCS10FileName)
  1840.  
  1841. #define ICEnroll2_acceptFilePKCS7(This,wszPKCS7FileName)    \
  1842.     (This)->lpVtbl -> acceptFilePKCS7(This,wszPKCS7FileName)
  1843.  
  1844. #define ICEnroll2_createPKCS10(This,DNName,Usage,pPKCS10)    \
  1845.     (This)->lpVtbl -> createPKCS10(This,DNName,Usage,pPKCS10)
  1846.  
  1847. #define ICEnroll2_acceptPKCS7(This,PKCS7)    \
  1848.     (This)->lpVtbl -> acceptPKCS7(This,PKCS7)
  1849.  
  1850. #define ICEnroll2_getCertFromPKCS7(This,wszPKCS7,pbstrCert)    \
  1851.     (This)->lpVtbl -> getCertFromPKCS7(This,wszPKCS7,pbstrCert)
  1852.  
  1853. #define ICEnroll2_enumProviders(This,dwIndex,dwFlags,pbstrProvName)    \
  1854.     (This)->lpVtbl -> enumProviders(This,dwIndex,dwFlags,pbstrProvName)
  1855.  
  1856. #define ICEnroll2_enumContainers(This,dwIndex,pbstr)    \
  1857.     (This)->lpVtbl -> enumContainers(This,dwIndex,pbstr)
  1858.  
  1859. #define ICEnroll2_freeRequestInfo(This,PKCS7OrPKCS10)    \
  1860.     (This)->lpVtbl -> freeRequestInfo(This,PKCS7OrPKCS10)
  1861.  
  1862. #define ICEnroll2_get_MyStoreName(This,pbstrName)    \
  1863.     (This)->lpVtbl -> get_MyStoreName(This,pbstrName)
  1864.  
  1865. #define ICEnroll2_put_MyStoreName(This,bstrName)    \
  1866.     (This)->lpVtbl -> put_MyStoreName(This,bstrName)
  1867.  
  1868. #define ICEnroll2_get_MyStoreType(This,pbstrType)    \
  1869.     (This)->lpVtbl -> get_MyStoreType(This,pbstrType)
  1870.  
  1871. #define ICEnroll2_put_MyStoreType(This,bstrType)    \
  1872.     (This)->lpVtbl -> put_MyStoreType(This,bstrType)
  1873.  
  1874. #define ICEnroll2_get_MyStoreFlags(This,pdwFlags)    \
  1875.     (This)->lpVtbl -> get_MyStoreFlags(This,pdwFlags)
  1876.  
  1877. #define ICEnroll2_put_MyStoreFlags(This,dwFlags)    \
  1878.     (This)->lpVtbl -> put_MyStoreFlags(This,dwFlags)
  1879.  
  1880. #define ICEnroll2_get_CAStoreName(This,pbstrName)    \
  1881.     (This)->lpVtbl -> get_CAStoreName(This,pbstrName)
  1882.  
  1883. #define ICEnroll2_put_CAStoreName(This,bstrName)    \
  1884.     (This)->lpVtbl -> put_CAStoreName(This,bstrName)
  1885.  
  1886. #define ICEnroll2_get_CAStoreType(This,pbstrType)    \
  1887.     (This)->lpVtbl -> get_CAStoreType(This,pbstrType)
  1888.  
  1889. #define ICEnroll2_put_CAStoreType(This,bstrType)    \
  1890.     (This)->lpVtbl -> put_CAStoreType(This,bstrType)
  1891.  
  1892. #define ICEnroll2_get_CAStoreFlags(This,pdwFlags)    \
  1893.     (This)->lpVtbl -> get_CAStoreFlags(This,pdwFlags)
  1894.  
  1895. #define ICEnroll2_put_CAStoreFlags(This,dwFlags)    \
  1896.     (This)->lpVtbl -> put_CAStoreFlags(This,dwFlags)
  1897.  
  1898. #define ICEnroll2_get_RootStoreName(This,pbstrName)    \
  1899.     (This)->lpVtbl -> get_RootStoreName(This,pbstrName)
  1900.  
  1901. #define ICEnroll2_put_RootStoreName(This,bstrName)    \
  1902.     (This)->lpVtbl -> put_RootStoreName(This,bstrName)
  1903.  
  1904. #define ICEnroll2_get_RootStoreType(This,pbstrType)    \
  1905.     (This)->lpVtbl -> get_RootStoreType(This,pbstrType)
  1906.  
  1907. #define ICEnroll2_put_RootStoreType(This,bstrType)    \
  1908.     (This)->lpVtbl -> put_RootStoreType(This,bstrType)
  1909.  
  1910. #define ICEnroll2_get_RootStoreFlags(This,pdwFlags)    \
  1911.     (This)->lpVtbl -> get_RootStoreFlags(This,pdwFlags)
  1912.  
  1913. #define ICEnroll2_put_RootStoreFlags(This,dwFlags)    \
  1914.     (This)->lpVtbl -> put_RootStoreFlags(This,dwFlags)
  1915.  
  1916. #define ICEnroll2_get_RequestStoreName(This,pbstrName)    \
  1917.     (This)->lpVtbl -> get_RequestStoreName(This,pbstrName)
  1918.  
  1919. #define ICEnroll2_put_RequestStoreName(This,bstrName)    \
  1920.     (This)->lpVtbl -> put_RequestStoreName(This,bstrName)
  1921.  
  1922. #define ICEnroll2_get_RequestStoreType(This,pbstrType)    \
  1923.     (This)->lpVtbl -> get_RequestStoreType(This,pbstrType)
  1924.  
  1925. #define ICEnroll2_put_RequestStoreType(This,bstrType)    \
  1926.     (This)->lpVtbl -> put_RequestStoreType(This,bstrType)
  1927.  
  1928. #define ICEnroll2_get_RequestStoreFlags(This,pdwFlags)    \
  1929.     (This)->lpVtbl -> get_RequestStoreFlags(This,pdwFlags)
  1930.  
  1931. #define ICEnroll2_put_RequestStoreFlags(This,dwFlags)    \
  1932.     (This)->lpVtbl -> put_RequestStoreFlags(This,dwFlags)
  1933.  
  1934. #define ICEnroll2_get_ContainerName(This,pbstrContainer)    \
  1935.     (This)->lpVtbl -> get_ContainerName(This,pbstrContainer)
  1936.  
  1937. #define ICEnroll2_put_ContainerName(This,bstrContainer)    \
  1938.     (This)->lpVtbl -> put_ContainerName(This,bstrContainer)
  1939.  
  1940. #define ICEnroll2_get_ProviderName(This,pbstrProvider)    \
  1941.     (This)->lpVtbl -> get_ProviderName(This,pbstrProvider)
  1942.  
  1943. #define ICEnroll2_put_ProviderName(This,bstrProvider)    \
  1944.     (This)->lpVtbl -> put_ProviderName(This,bstrProvider)
  1945.  
  1946. #define ICEnroll2_get_ProviderType(This,pdwType)    \
  1947.     (This)->lpVtbl -> get_ProviderType(This,pdwType)
  1948.  
  1949. #define ICEnroll2_put_ProviderType(This,dwType)    \
  1950.     (This)->lpVtbl -> put_ProviderType(This,dwType)
  1951.  
  1952. #define ICEnroll2_get_KeySpec(This,pdw)    \
  1953.     (This)->lpVtbl -> get_KeySpec(This,pdw)
  1954.  
  1955. #define ICEnroll2_put_KeySpec(This,dw)    \
  1956.     (This)->lpVtbl -> put_KeySpec(This,dw)
  1957.  
  1958. #define ICEnroll2_get_ProviderFlags(This,pdwFlags)    \
  1959.     (This)->lpVtbl -> get_ProviderFlags(This,pdwFlags)
  1960.  
  1961. #define ICEnroll2_put_ProviderFlags(This,dwFlags)    \
  1962.     (This)->lpVtbl -> put_ProviderFlags(This,dwFlags)
  1963.  
  1964. #define ICEnroll2_get_UseExistingKeySet(This,fUseExistingKeys)    \
  1965.     (This)->lpVtbl -> get_UseExistingKeySet(This,fUseExistingKeys)
  1966.  
  1967. #define ICEnroll2_put_UseExistingKeySet(This,fUseExistingKeys)    \
  1968.     (This)->lpVtbl -> put_UseExistingKeySet(This,fUseExistingKeys)
  1969.  
  1970. #define ICEnroll2_get_GenKeyFlags(This,pdwFlags)    \
  1971.     (This)->lpVtbl -> get_GenKeyFlags(This,pdwFlags)
  1972.  
  1973. #define ICEnroll2_put_GenKeyFlags(This,dwFlags)    \
  1974.     (This)->lpVtbl -> put_GenKeyFlags(This,dwFlags)
  1975.  
  1976. #define ICEnroll2_get_DeleteRequestCert(This,fDelete)    \
  1977.     (This)->lpVtbl -> get_DeleteRequestCert(This,fDelete)
  1978.  
  1979. #define ICEnroll2_put_DeleteRequestCert(This,fDelete)    \
  1980.     (This)->lpVtbl -> put_DeleteRequestCert(This,fDelete)
  1981.  
  1982. #define ICEnroll2_get_WriteCertToCSP(This,fBool)    \
  1983.     (This)->lpVtbl -> get_WriteCertToCSP(This,fBool)
  1984.  
  1985. #define ICEnroll2_put_WriteCertToCSP(This,fBool)    \
  1986.     (This)->lpVtbl -> put_WriteCertToCSP(This,fBool)
  1987.  
  1988. #define ICEnroll2_get_SPCFileName(This,pbstr)    \
  1989.     (This)->lpVtbl -> get_SPCFileName(This,pbstr)
  1990.  
  1991. #define ICEnroll2_put_SPCFileName(This,bstr)    \
  1992.     (This)->lpVtbl -> put_SPCFileName(This,bstr)
  1993.  
  1994. #define ICEnroll2_get_PVKFileName(This,pbstr)    \
  1995.     (This)->lpVtbl -> get_PVKFileName(This,pbstr)
  1996.  
  1997. #define ICEnroll2_put_PVKFileName(This,bstr)    \
  1998.     (This)->lpVtbl -> put_PVKFileName(This,bstr)
  1999.  
  2000. #define ICEnroll2_get_HashAlgorithm(This,pbstr)    \
  2001.     (This)->lpVtbl -> get_HashAlgorithm(This,pbstr)
  2002.  
  2003. #define ICEnroll2_put_HashAlgorithm(This,bstr)    \
  2004.     (This)->lpVtbl -> put_HashAlgorithm(This,bstr)
  2005.  
  2006.  
  2007. #define ICEnroll2_addCertTypeToRequest(This,CertType)    \
  2008.     (This)->lpVtbl -> addCertTypeToRequest(This,CertType)
  2009.  
  2010. #define ICEnroll2_addNameValuePairToSignature(This,Name,Value)    \
  2011.     (This)->lpVtbl -> addNameValuePairToSignature(This,Name,Value)
  2012.  
  2013. #define ICEnroll2_get_WriteCertToUserDS(This,fBool)    \
  2014.     (This)->lpVtbl -> get_WriteCertToUserDS(This,fBool)
  2015.  
  2016. #define ICEnroll2_put_WriteCertToUserDS(This,fBool)    \
  2017.     (This)->lpVtbl -> put_WriteCertToUserDS(This,fBool)
  2018.  
  2019. #define ICEnroll2_get_EnableT61DNEncoding(This,fBool)    \
  2020.     (This)->lpVtbl -> get_EnableT61DNEncoding(This,fBool)
  2021.  
  2022. #define ICEnroll2_put_EnableT61DNEncoding(This,fBool)    \
  2023.     (This)->lpVtbl -> put_EnableT61DNEncoding(This,fBool)
  2024.  
  2025. #endif /* COBJMACROS */
  2026.  
  2027.  
  2028. #endif     /* C style interface */
  2029.  
  2030.  
  2031.  
  2032. HRESULT STDMETHODCALLTYPE ICEnroll2_addCertTypeToRequest_Proxy( 
  2033.     ICEnroll2 __RPC_FAR * This,
  2034.     /* [in] */ BSTR CertType);
  2035.  
  2036.  
  2037. void __RPC_STUB ICEnroll2_addCertTypeToRequest_Stub(
  2038.     IRpcStubBuffer *This,
  2039.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2040.     PRPC_MESSAGE _pRpcMessage,
  2041.     DWORD *_pdwStubPhase);
  2042.  
  2043.  
  2044. HRESULT STDMETHODCALLTYPE ICEnroll2_addNameValuePairToSignature_Proxy( 
  2045.     ICEnroll2 __RPC_FAR * This,
  2046.     /* [in] */ BSTR Name,
  2047.     /* [in] */ BSTR Value);
  2048.  
  2049.  
  2050. void __RPC_STUB ICEnroll2_addNameValuePairToSignature_Stub(
  2051.     IRpcStubBuffer *This,
  2052.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2053.     PRPC_MESSAGE _pRpcMessage,
  2054.     DWORD *_pdwStubPhase);
  2055.  
  2056.  
  2057. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll2_get_WriteCertToUserDS_Proxy( 
  2058.     ICEnroll2 __RPC_FAR * This,
  2059.     /* [retval][out] */ BOOL __RPC_FAR *fBool);
  2060.  
  2061.  
  2062. void __RPC_STUB ICEnroll2_get_WriteCertToUserDS_Stub(
  2063.     IRpcStubBuffer *This,
  2064.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2065.     PRPC_MESSAGE _pRpcMessage,
  2066.     DWORD *_pdwStubPhase);
  2067.  
  2068.  
  2069. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll2_put_WriteCertToUserDS_Proxy( 
  2070.     ICEnroll2 __RPC_FAR * This,
  2071.     /* [in] */ BOOL fBool);
  2072.  
  2073.  
  2074. void __RPC_STUB ICEnroll2_put_WriteCertToUserDS_Stub(
  2075.     IRpcStubBuffer *This,
  2076.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2077.     PRPC_MESSAGE _pRpcMessage,
  2078.     DWORD *_pdwStubPhase);
  2079.  
  2080.  
  2081. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll2_get_EnableT61DNEncoding_Proxy( 
  2082.     ICEnroll2 __RPC_FAR * This,
  2083.     /* [retval][out] */ BOOL __RPC_FAR *fBool);
  2084.  
  2085.  
  2086. void __RPC_STUB ICEnroll2_get_EnableT61DNEncoding_Stub(
  2087.     IRpcStubBuffer *This,
  2088.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2089.     PRPC_MESSAGE _pRpcMessage,
  2090.     DWORD *_pdwStubPhase);
  2091.  
  2092.  
  2093. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll2_put_EnableT61DNEncoding_Proxy( 
  2094.     ICEnroll2 __RPC_FAR * This,
  2095.     /* [in] */ BOOL fBool);
  2096.  
  2097.  
  2098. void __RPC_STUB ICEnroll2_put_EnableT61DNEncoding_Stub(
  2099.     IRpcStubBuffer *This,
  2100.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2101.     PRPC_MESSAGE _pRpcMessage,
  2102.     DWORD *_pdwStubPhase);
  2103.  
  2104.  
  2105.  
  2106. #endif     /* __ICEnroll2_INTERFACE_DEFINED__ */
  2107.  
  2108.  
  2109. #ifndef __ICEnroll3_INTERFACE_DEFINED__
  2110. #define __ICEnroll3_INTERFACE_DEFINED__
  2111.  
  2112. /* interface ICEnroll3 */
  2113. /* [unique][helpstring][dual][uuid][object] */ 
  2114.  
  2115.  
  2116. EXTERN_C const IID IID_ICEnroll3;
  2117.  
  2118. #if defined(__cplusplus) && !defined(CINTERFACE)
  2119.     
  2120.     MIDL_INTERFACE("c28c2d95-b7de-11d2-a421-00c04f79fe8e")
  2121.     ICEnroll3 : public ICEnroll2
  2122.     {
  2123.     public:
  2124.         virtual HRESULT STDMETHODCALLTYPE InstallPKCS7( 
  2125.             /* [in] */ BSTR PKCS7) = 0;
  2126.         
  2127.         virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  2128.         
  2129.         virtual HRESULT STDMETHODCALLTYPE GetSupportedKeySpec( 
  2130.             /* [retval][out] */ DWORD __RPC_FAR *pdwKeySpec) = 0;
  2131.         
  2132.         virtual HRESULT STDMETHODCALLTYPE GetKeyLen( 
  2133.             /* [in] */ BOOL fMin,
  2134.             /* [in] */ BOOL fExchange,
  2135.             /* [retval][out] */ DWORD __RPC_FAR *pdwKeySize) = 0;
  2136.         
  2137.         virtual HRESULT STDMETHODCALLTYPE EnumAlgs( 
  2138.             /* [in] */ DWORD dwIndex,
  2139.             /* [in] */ DWORD algClass,
  2140.             /* [retval][out] */ DWORD __RPC_FAR *pdwAlgID) = 0;
  2141.         
  2142.         virtual HRESULT STDMETHODCALLTYPE GetAlgName( 
  2143.             /* [in] */ DWORD algID,
  2144.             /* [retval][out] */ BSTR __RPC_FAR *pbstr) = 0;
  2145.         
  2146.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ReuseHardwareKeyIfUnableToGenNew( 
  2147.             /* [in] */ BOOL fReuseHardwareKeyIfUnableToGenNew) = 0;
  2148.         
  2149.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ReuseHardwareKeyIfUnableToGenNew( 
  2150.             /* [retval][out] */ BOOL __RPC_FAR *fReuseHardwareKeyIfUnableToGenNew) = 0;
  2151.         
  2152.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_HashAlgID( 
  2153.             /* [in] */ DWORD hashAlgID) = 0;
  2154.         
  2155.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HashAlgID( 
  2156.             /* [retval][out] */ DWORD __RPC_FAR *hashAlgID) = 0;
  2157.         
  2158.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_LimitExchangeKeyToEncipherment( 
  2159.             /* [in] */ BOOL fLimitExchangeKeyToEncipherment) = 0;
  2160.         
  2161.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_LimitExchangeKeyToEncipherment( 
  2162.             /* [retval][out] */ BOOL __RPC_FAR *fLimitExchangeKeyToEncipherment) = 0;
  2163.         
  2164.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_EnableSMIMECapabilities( 
  2165.             /* [in] */ BOOL fEnableSMIMECapabilities) = 0;
  2166.         
  2167.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_EnableSMIMECapabilities( 
  2168.             /* [retval][out] */ BOOL __RPC_FAR *fEnableSMIMECapabilities) = 0;
  2169.         
  2170.     };
  2171.     
  2172. #else     /* C style interface */
  2173.  
  2174.     typedef struct ICEnroll3Vtbl
  2175.     {
  2176.         BEGIN_INTERFACE
  2177.         
  2178.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  2179.             ICEnroll3 __RPC_FAR * This,
  2180.             /* [in] */ REFIID riid,
  2181.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2182.         
  2183.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  2184.             ICEnroll3 __RPC_FAR * This);
  2185.         
  2186.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  2187.             ICEnroll3 __RPC_FAR * This);
  2188.         
  2189.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  2190.             ICEnroll3 __RPC_FAR * This,
  2191.             /* [out] */ UINT __RPC_FAR *pctinfo);
  2192.         
  2193.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  2194.             ICEnroll3 __RPC_FAR * This,
  2195.             /* [in] */ UINT iTInfo,
  2196.             /* [in] */ LCID lcid,
  2197.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  2198.         
  2199.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  2200.             ICEnroll3 __RPC_FAR * This,
  2201.             /* [in] */ REFIID riid,
  2202.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  2203.             /* [in] */ UINT cNames,
  2204.             /* [in] */ LCID lcid,
  2205.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  2206.         
  2207.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  2208.             ICEnroll3 __RPC_FAR * This,
  2209.             /* [in] */ DISPID dispIdMember,
  2210.             /* [in] */ REFIID riid,
  2211.             /* [in] */ LCID lcid,
  2212.             /* [in] */ WORD wFlags,
  2213.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  2214.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  2215.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  2216.             /* [out] */ UINT __RPC_FAR *puArgErr);
  2217.         
  2218.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *createFilePKCS10 )( 
  2219.             ICEnroll3 __RPC_FAR * This,
  2220.             /* [in] */ BSTR DNName,
  2221.             /* [in] */ BSTR Usage,
  2222.             /* [in] */ BSTR wszPKCS10FileName);
  2223.         
  2224.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *acceptFilePKCS7 )( 
  2225.             ICEnroll3 __RPC_FAR * This,
  2226.             /* [in] */ BSTR wszPKCS7FileName);
  2227.         
  2228.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *createPKCS10 )( 
  2229.             ICEnroll3 __RPC_FAR * This,
  2230.             /* [in] */ BSTR DNName,
  2231.             /* [in] */ BSTR Usage,
  2232.             /* [retval][out] */ BSTR __RPC_FAR *pPKCS10);
  2233.         
  2234.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *acceptPKCS7 )( 
  2235.             ICEnroll3 __RPC_FAR * This,
  2236.             /* [in] */ BSTR PKCS7);
  2237.         
  2238.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *getCertFromPKCS7 )( 
  2239.             ICEnroll3 __RPC_FAR * This,
  2240.             /* [in] */ BSTR wszPKCS7,
  2241.             /* [out][retval] */ BSTR __RPC_FAR *pbstrCert);
  2242.         
  2243.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *enumProviders )( 
  2244.             ICEnroll3 __RPC_FAR * This,
  2245.             /* [in] */ DWORD dwIndex,
  2246.             /* [in] */ DWORD dwFlags,
  2247.             /* [out][retval] */ BSTR __RPC_FAR *pbstrProvName);
  2248.         
  2249.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *enumContainers )( 
  2250.             ICEnroll3 __RPC_FAR * This,
  2251.             /* [in] */ DWORD dwIndex,
  2252.             /* [out][retval] */ BSTR __RPC_FAR *pbstr);
  2253.         
  2254.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *freeRequestInfo )( 
  2255.             ICEnroll3 __RPC_FAR * This,
  2256.             /* [in] */ BSTR PKCS7OrPKCS10);
  2257.         
  2258.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_MyStoreName )( 
  2259.             ICEnroll3 __RPC_FAR * This,
  2260.             /* [retval][out] */ BSTR __RPC_FAR *pbstrName);
  2261.         
  2262.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_MyStoreName )( 
  2263.             ICEnroll3 __RPC_FAR * This,
  2264.             /* [in] */ BSTR bstrName);
  2265.         
  2266.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_MyStoreType )( 
  2267.             ICEnroll3 __RPC_FAR * This,
  2268.             /* [retval][out] */ BSTR __RPC_FAR *pbstrType);
  2269.         
  2270.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_MyStoreType )( 
  2271.             ICEnroll3 __RPC_FAR * This,
  2272.             /* [in] */ BSTR bstrType);
  2273.         
  2274.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_MyStoreFlags )( 
  2275.             ICEnroll3 __RPC_FAR * This,
  2276.             /* [retval][out] */ DWORD __RPC_FAR *pdwFlags);
  2277.         
  2278.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_MyStoreFlags )( 
  2279.             ICEnroll3 __RPC_FAR * This,
  2280.             /* [in] */ DWORD dwFlags);
  2281.         
  2282.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CAStoreName )( 
  2283.             ICEnroll3 __RPC_FAR * This,
  2284.             /* [retval][out] */ BSTR __RPC_FAR *pbstrName);
  2285.         
  2286.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_CAStoreName )( 
  2287.             ICEnroll3 __RPC_FAR * This,
  2288.             /* [in] */ BSTR bstrName);
  2289.         
  2290.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CAStoreType )( 
  2291.             ICEnroll3 __RPC_FAR * This,
  2292.             /* [retval][out] */ BSTR __RPC_FAR *pbstrType);
  2293.         
  2294.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_CAStoreType )( 
  2295.             ICEnroll3 __RPC_FAR * This,
  2296.             /* [in] */ BSTR bstrType);
  2297.         
  2298.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CAStoreFlags )( 
  2299.             ICEnroll3 __RPC_FAR * This,
  2300.             /* [retval][out] */ DWORD __RPC_FAR *pdwFlags);
  2301.         
  2302.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_CAStoreFlags )( 
  2303.             ICEnroll3 __RPC_FAR * This,
  2304.             /* [in] */ DWORD dwFlags);
  2305.         
  2306.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_RootStoreName )( 
  2307.             ICEnroll3 __RPC_FAR * This,
  2308.             /* [retval][out] */ BSTR __RPC_FAR *pbstrName);
  2309.         
  2310.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_RootStoreName )( 
  2311.             ICEnroll3 __RPC_FAR * This,
  2312.             /* [in] */ BSTR bstrName);
  2313.         
  2314.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_RootStoreType )( 
  2315.             ICEnroll3 __RPC_FAR * This,
  2316.             /* [retval][out] */ BSTR __RPC_FAR *pbstrType);
  2317.         
  2318.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_RootStoreType )( 
  2319.             ICEnroll3 __RPC_FAR * This,
  2320.             /* [in] */ BSTR bstrType);
  2321.         
  2322.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_RootStoreFlags )( 
  2323.             ICEnroll3 __RPC_FAR * This,
  2324.             /* [retval][out] */ DWORD __RPC_FAR *pdwFlags);
  2325.         
  2326.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_RootStoreFlags )( 
  2327.             ICEnroll3 __RPC_FAR * This,
  2328.             /* [in] */ DWORD dwFlags);
  2329.         
  2330.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_RequestStoreName )( 
  2331.             ICEnroll3 __RPC_FAR * This,
  2332.             /* [retval][out] */ BSTR __RPC_FAR *pbstrName);
  2333.         
  2334.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_RequestStoreName )( 
  2335.             ICEnroll3 __RPC_FAR * This,
  2336.             /* [in] */ BSTR bstrName);
  2337.         
  2338.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_RequestStoreType )( 
  2339.             ICEnroll3 __RPC_FAR * This,
  2340.             /* [retval][out] */ BSTR __RPC_FAR *pbstrType);
  2341.         
  2342.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_RequestStoreType )( 
  2343.             ICEnroll3 __RPC_FAR * This,
  2344.             /* [in] */ BSTR bstrType);
  2345.         
  2346.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_RequestStoreFlags )( 
  2347.             ICEnroll3 __RPC_FAR * This,
  2348.             /* [retval][out] */ DWORD __RPC_FAR *pdwFlags);
  2349.         
  2350.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_RequestStoreFlags )( 
  2351.             ICEnroll3 __RPC_FAR * This,
  2352.             /* [in] */ DWORD dwFlags);
  2353.         
  2354.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ContainerName )( 
  2355.             ICEnroll3 __RPC_FAR * This,
  2356.             /* [retval][out] */ BSTR __RPC_FAR *pbstrContainer);
  2357.         
  2358.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ContainerName )( 
  2359.             ICEnroll3 __RPC_FAR * This,
  2360.             /* [in] */ BSTR bstrContainer);
  2361.         
  2362.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ProviderName )( 
  2363.             ICEnroll3 __RPC_FAR * This,
  2364.             /* [retval][out] */ BSTR __RPC_FAR *pbstrProvider);
  2365.         
  2366.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ProviderName )( 
  2367.             ICEnroll3 __RPC_FAR * This,
  2368.             /* [in] */ BSTR bstrProvider);
  2369.         
  2370.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ProviderType )( 
  2371.             ICEnroll3 __RPC_FAR * This,
  2372.             /* [retval][out] */ DWORD __RPC_FAR *pdwType);
  2373.         
  2374.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ProviderType )( 
  2375.             ICEnroll3 __RPC_FAR * This,
  2376.             /* [in] */ DWORD dwType);
  2377.         
  2378.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_KeySpec )( 
  2379.             ICEnroll3 __RPC_FAR * This,
  2380.             /* [retval][out] */ DWORD __RPC_FAR *pdw);
  2381.         
  2382.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_KeySpec )( 
  2383.             ICEnroll3 __RPC_FAR * This,
  2384.             /* [in] */ DWORD dw);
  2385.         
  2386.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ProviderFlags )( 
  2387.             ICEnroll3 __RPC_FAR * This,
  2388.             /* [retval][out] */ DWORD __RPC_FAR *pdwFlags);
  2389.         
  2390.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ProviderFlags )( 
  2391.             ICEnroll3 __RPC_FAR * This,
  2392.             /* [in] */ DWORD dwFlags);
  2393.         
  2394.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_UseExistingKeySet )( 
  2395.             ICEnroll3 __RPC_FAR * This,
  2396.             /* [retval][out] */ BOOL __RPC_FAR *fUseExistingKeys);
  2397.         
  2398.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_UseExistingKeySet )( 
  2399.             ICEnroll3 __RPC_FAR * This,
  2400.             /* [in] */ BOOL fUseExistingKeys);
  2401.         
  2402.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_GenKeyFlags )( 
  2403.             ICEnroll3 __RPC_FAR * This,
  2404.             /* [retval][out] */ DWORD __RPC_FAR *pdwFlags);
  2405.         
  2406.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_GenKeyFlags )( 
  2407.             ICEnroll3 __RPC_FAR * This,
  2408.             /* [in] */ DWORD dwFlags);
  2409.         
  2410.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DeleteRequestCert )( 
  2411.             ICEnroll3 __RPC_FAR * This,
  2412.             /* [retval][out] */ BOOL __RPC_FAR *fDelete);
  2413.         
  2414.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DeleteRequestCert )( 
  2415.             ICEnroll3 __RPC_FAR * This,
  2416.             /* [in] */ BOOL fDelete);
  2417.         
  2418.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_WriteCertToCSP )( 
  2419.             ICEnroll3 __RPC_FAR * This,
  2420.             /* [retval][out] */ BOOL __RPC_FAR *fBool);
  2421.         
  2422.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_WriteCertToCSP )( 
  2423.             ICEnroll3 __RPC_FAR * This,
  2424.             /* [in] */ BOOL fBool);
  2425.         
  2426.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_SPCFileName )( 
  2427.             ICEnroll3 __RPC_FAR * This,
  2428.             /* [retval][out] */ BSTR __RPC_FAR *pbstr);
  2429.         
  2430.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_SPCFileName )( 
  2431.             ICEnroll3 __RPC_FAR * This,
  2432.             /* [in] */ BSTR bstr);
  2433.         
  2434.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_PVKFileName )( 
  2435.             ICEnroll3 __RPC_FAR * This,
  2436.             /* [retval][out] */ BSTR __RPC_FAR *pbstr);
  2437.         
  2438.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_PVKFileName )( 
  2439.             ICEnroll3 __RPC_FAR * This,
  2440.             /* [in] */ BSTR bstr);
  2441.         
  2442.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_HashAlgorithm )( 
  2443.             ICEnroll3 __RPC_FAR * This,
  2444.             /* [retval][out] */ BSTR __RPC_FAR *pbstr);
  2445.         
  2446.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_HashAlgorithm )( 
  2447.             ICEnroll3 __RPC_FAR * This,
  2448.             /* [in] */ BSTR bstr);
  2449.         
  2450.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *addCertTypeToRequest )( 
  2451.             ICEnroll3 __RPC_FAR * This,
  2452.             /* [in] */ BSTR CertType);
  2453.         
  2454.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *addNameValuePairToSignature )( 
  2455.             ICEnroll3 __RPC_FAR * This,
  2456.             /* [in] */ BSTR Name,
  2457.             /* [in] */ BSTR Value);
  2458.         
  2459.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_WriteCertToUserDS )( 
  2460.             ICEnroll3 __RPC_FAR * This,
  2461.             /* [retval][out] */ BOOL __RPC_FAR *fBool);
  2462.         
  2463.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_WriteCertToUserDS )( 
  2464.             ICEnroll3 __RPC_FAR * This,
  2465.             /* [in] */ BOOL fBool);
  2466.         
  2467.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EnableT61DNEncoding )( 
  2468.             ICEnroll3 __RPC_FAR * This,
  2469.             /* [retval][out] */ BOOL __RPC_FAR *fBool);
  2470.         
  2471.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_EnableT61DNEncoding )( 
  2472.             ICEnroll3 __RPC_FAR * This,
  2473.             /* [in] */ BOOL fBool);
  2474.         
  2475.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *InstallPKCS7 )( 
  2476.             ICEnroll3 __RPC_FAR * This,
  2477.             /* [in] */ BSTR PKCS7);
  2478.         
  2479.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Reset )( 
  2480.             ICEnroll3 __RPC_FAR * This);
  2481.         
  2482.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSupportedKeySpec )( 
  2483.             ICEnroll3 __RPC_FAR * This,
  2484.             /* [retval][out] */ DWORD __RPC_FAR *pdwKeySpec);
  2485.         
  2486.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetKeyLen )( 
  2487.             ICEnroll3 __RPC_FAR * This,
  2488.             /* [in] */ BOOL fMin,
  2489.             /* [in] */ BOOL fExchange,
  2490.             /* [retval][out] */ DWORD __RPC_FAR *pdwKeySize);
  2491.         
  2492.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EnumAlgs )( 
  2493.             ICEnroll3 __RPC_FAR * This,
  2494.             /* [in] */ DWORD dwIndex,
  2495.             /* [in] */ DWORD algClass,
  2496.             /* [retval][out] */ DWORD __RPC_FAR *pdwAlgID);
  2497.         
  2498.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetAlgName )( 
  2499.             ICEnroll3 __RPC_FAR * This,
  2500.             /* [in] */ DWORD algID,
  2501.             /* [retval][out] */ BSTR __RPC_FAR *pbstr);
  2502.         
  2503.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ReuseHardwareKeyIfUnableToGenNew )( 
  2504.             ICEnroll3 __RPC_FAR * This,
  2505.             /* [in] */ BOOL fReuseHardwareKeyIfUnableToGenNew);
  2506.         
  2507.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ReuseHardwareKeyIfUnableToGenNew )( 
  2508.             ICEnroll3 __RPC_FAR * This,
  2509.             /* [retval][out] */ BOOL __RPC_FAR *fReuseHardwareKeyIfUnableToGenNew);
  2510.         
  2511.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_HashAlgID )( 
  2512.             ICEnroll3 __RPC_FAR * This,
  2513.             /* [in] */ DWORD hashAlgID);
  2514.         
  2515.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_HashAlgID )( 
  2516.             ICEnroll3 __RPC_FAR * This,
  2517.             /* [retval][out] */ DWORD __RPC_FAR *hashAlgID);
  2518.         
  2519.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_LimitExchangeKeyToEncipherment )( 
  2520.             ICEnroll3 __RPC_FAR * This,
  2521.             /* [in] */ BOOL fLimitExchangeKeyToEncipherment);
  2522.         
  2523.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_LimitExchangeKeyToEncipherment )( 
  2524.             ICEnroll3 __RPC_FAR * This,
  2525.             /* [retval][out] */ BOOL __RPC_FAR *fLimitExchangeKeyToEncipherment);
  2526.         
  2527.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_EnableSMIMECapabilities )( 
  2528.             ICEnroll3 __RPC_FAR * This,
  2529.             /* [in] */ BOOL fEnableSMIMECapabilities);
  2530.         
  2531.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EnableSMIMECapabilities )( 
  2532.             ICEnroll3 __RPC_FAR * This,
  2533.             /* [retval][out] */ BOOL __RPC_FAR *fEnableSMIMECapabilities);
  2534.         
  2535.         END_INTERFACE
  2536.     } ICEnroll3Vtbl;
  2537.  
  2538.     interface ICEnroll3
  2539.     {
  2540.         CONST_VTBL struct ICEnroll3Vtbl __RPC_FAR *lpVtbl;
  2541.     };
  2542.  
  2543.     
  2544.  
  2545. #ifdef COBJMACROS
  2546.  
  2547.  
  2548. #define ICEnroll3_QueryInterface(This,riid,ppvObject)    \
  2549.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2550.  
  2551. #define ICEnroll3_AddRef(This)    \
  2552.     (This)->lpVtbl -> AddRef(This)
  2553.  
  2554. #define ICEnroll3_Release(This)    \
  2555.     (This)->lpVtbl -> Release(This)
  2556.  
  2557.  
  2558. #define ICEnroll3_GetTypeInfoCount(This,pctinfo)    \
  2559.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  2560.  
  2561. #define ICEnroll3_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  2562.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2563.  
  2564. #define ICEnroll3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  2565.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2566.  
  2567. #define ICEnroll3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  2568.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2569.  
  2570.  
  2571. #define ICEnroll3_createFilePKCS10(This,DNName,Usage,wszPKCS10FileName)    \
  2572.     (This)->lpVtbl -> createFilePKCS10(This,DNName,Usage,wszPKCS10FileName)
  2573.  
  2574. #define ICEnroll3_acceptFilePKCS7(This,wszPKCS7FileName)    \
  2575.     (This)->lpVtbl -> acceptFilePKCS7(This,wszPKCS7FileName)
  2576.  
  2577. #define ICEnroll3_createPKCS10(This,DNName,Usage,pPKCS10)    \
  2578.     (This)->lpVtbl -> createPKCS10(This,DNName,Usage,pPKCS10)
  2579.  
  2580. #define ICEnroll3_acceptPKCS7(This,PKCS7)    \
  2581.     (This)->lpVtbl -> acceptPKCS7(This,PKCS7)
  2582.  
  2583. #define ICEnroll3_getCertFromPKCS7(This,wszPKCS7,pbstrCert)    \
  2584.     (This)->lpVtbl -> getCertFromPKCS7(This,wszPKCS7,pbstrCert)
  2585.  
  2586. #define ICEnroll3_enumProviders(This,dwIndex,dwFlags,pbstrProvName)    \
  2587.     (This)->lpVtbl -> enumProviders(This,dwIndex,dwFlags,pbstrProvName)
  2588.  
  2589. #define ICEnroll3_enumContainers(This,dwIndex,pbstr)    \
  2590.     (This)->lpVtbl -> enumContainers(This,dwIndex,pbstr)
  2591.  
  2592. #define ICEnroll3_freeRequestInfo(This,PKCS7OrPKCS10)    \
  2593.     (This)->lpVtbl -> freeRequestInfo(This,PKCS7OrPKCS10)
  2594.  
  2595. #define ICEnroll3_get_MyStoreName(This,pbstrName)    \
  2596.     (This)->lpVtbl -> get_MyStoreName(This,pbstrName)
  2597.  
  2598. #define ICEnroll3_put_MyStoreName(This,bstrName)    \
  2599.     (This)->lpVtbl -> put_MyStoreName(This,bstrName)
  2600.  
  2601. #define ICEnroll3_get_MyStoreType(This,pbstrType)    \
  2602.     (This)->lpVtbl -> get_MyStoreType(This,pbstrType)
  2603.  
  2604. #define ICEnroll3_put_MyStoreType(This,bstrType)    \
  2605.     (This)->lpVtbl -> put_MyStoreType(This,bstrType)
  2606.  
  2607. #define ICEnroll3_get_MyStoreFlags(This,pdwFlags)    \
  2608.     (This)->lpVtbl -> get_MyStoreFlags(This,pdwFlags)
  2609.  
  2610. #define ICEnroll3_put_MyStoreFlags(This,dwFlags)    \
  2611.     (This)->lpVtbl -> put_MyStoreFlags(This,dwFlags)
  2612.  
  2613. #define ICEnroll3_get_CAStoreName(This,pbstrName)    \
  2614.     (This)->lpVtbl -> get_CAStoreName(This,pbstrName)
  2615.  
  2616. #define ICEnroll3_put_CAStoreName(This,bstrName)    \
  2617.     (This)->lpVtbl -> put_CAStoreName(This,bstrName)
  2618.  
  2619. #define ICEnroll3_get_CAStoreType(This,pbstrType)    \
  2620.     (This)->lpVtbl -> get_CAStoreType(This,pbstrType)
  2621.  
  2622. #define ICEnroll3_put_CAStoreType(This,bstrType)    \
  2623.     (This)->lpVtbl -> put_CAStoreType(This,bstrType)
  2624.  
  2625. #define ICEnroll3_get_CAStoreFlags(This,pdwFlags)    \
  2626.     (This)->lpVtbl -> get_CAStoreFlags(This,pdwFlags)
  2627.  
  2628. #define ICEnroll3_put_CAStoreFlags(This,dwFlags)    \
  2629.     (This)->lpVtbl -> put_CAStoreFlags(This,dwFlags)
  2630.  
  2631. #define ICEnroll3_get_RootStoreName(This,pbstrName)    \
  2632.     (This)->lpVtbl -> get_RootStoreName(This,pbstrName)
  2633.  
  2634. #define ICEnroll3_put_RootStoreName(This,bstrName)    \
  2635.     (This)->lpVtbl -> put_RootStoreName(This,bstrName)
  2636.  
  2637. #define ICEnroll3_get_RootStoreType(This,pbstrType)    \
  2638.     (This)->lpVtbl -> get_RootStoreType(This,pbstrType)
  2639.  
  2640. #define ICEnroll3_put_RootStoreType(This,bstrType)    \
  2641.     (This)->lpVtbl -> put_RootStoreType(This,bstrType)
  2642.  
  2643. #define ICEnroll3_get_RootStoreFlags(This,pdwFlags)    \
  2644.     (This)->lpVtbl -> get_RootStoreFlags(This,pdwFlags)
  2645.  
  2646. #define ICEnroll3_put_RootStoreFlags(This,dwFlags)    \
  2647.     (This)->lpVtbl -> put_RootStoreFlags(This,dwFlags)
  2648.  
  2649. #define ICEnroll3_get_RequestStoreName(This,pbstrName)    \
  2650.     (This)->lpVtbl -> get_RequestStoreName(This,pbstrName)
  2651.  
  2652. #define ICEnroll3_put_RequestStoreName(This,bstrName)    \
  2653.     (This)->lpVtbl -> put_RequestStoreName(This,bstrName)
  2654.  
  2655. #define ICEnroll3_get_RequestStoreType(This,pbstrType)    \
  2656.     (This)->lpVtbl -> get_RequestStoreType(This,pbstrType)
  2657.  
  2658. #define ICEnroll3_put_RequestStoreType(This,bstrType)    \
  2659.     (This)->lpVtbl -> put_RequestStoreType(This,bstrType)
  2660.  
  2661. #define ICEnroll3_get_RequestStoreFlags(This,pdwFlags)    \
  2662.     (This)->lpVtbl -> get_RequestStoreFlags(This,pdwFlags)
  2663.  
  2664. #define ICEnroll3_put_RequestStoreFlags(This,dwFlags)    \
  2665.     (This)->lpVtbl -> put_RequestStoreFlags(This,dwFlags)
  2666.  
  2667. #define ICEnroll3_get_ContainerName(This,pbstrContainer)    \
  2668.     (This)->lpVtbl -> get_ContainerName(This,pbstrContainer)
  2669.  
  2670. #define ICEnroll3_put_ContainerName(This,bstrContainer)    \
  2671.     (This)->lpVtbl -> put_ContainerName(This,bstrContainer)
  2672.  
  2673. #define ICEnroll3_get_ProviderName(This,pbstrProvider)    \
  2674.     (This)->lpVtbl -> get_ProviderName(This,pbstrProvider)
  2675.  
  2676. #define ICEnroll3_put_ProviderName(This,bstrProvider)    \
  2677.     (This)->lpVtbl -> put_ProviderName(This,bstrProvider)
  2678.  
  2679. #define ICEnroll3_get_ProviderType(This,pdwType)    \
  2680.     (This)->lpVtbl -> get_ProviderType(This,pdwType)
  2681.  
  2682. #define ICEnroll3_put_ProviderType(This,dwType)    \
  2683.     (This)->lpVtbl -> put_ProviderType(This,dwType)
  2684.  
  2685. #define ICEnroll3_get_KeySpec(This,pdw)    \
  2686.     (This)->lpVtbl -> get_KeySpec(This,pdw)
  2687.  
  2688. #define ICEnroll3_put_KeySpec(This,dw)    \
  2689.     (This)->lpVtbl -> put_KeySpec(This,dw)
  2690.  
  2691. #define ICEnroll3_get_ProviderFlags(This,pdwFlags)    \
  2692.     (This)->lpVtbl -> get_ProviderFlags(This,pdwFlags)
  2693.  
  2694. #define ICEnroll3_put_ProviderFlags(This,dwFlags)    \
  2695.     (This)->lpVtbl -> put_ProviderFlags(This,dwFlags)
  2696.  
  2697. #define ICEnroll3_get_UseExistingKeySet(This,fUseExistingKeys)    \
  2698.     (This)->lpVtbl -> get_UseExistingKeySet(This,fUseExistingKeys)
  2699.  
  2700. #define ICEnroll3_put_UseExistingKeySet(This,fUseExistingKeys)    \
  2701.     (This)->lpVtbl -> put_UseExistingKeySet(This,fUseExistingKeys)
  2702.  
  2703. #define ICEnroll3_get_GenKeyFlags(This,pdwFlags)    \
  2704.     (This)->lpVtbl -> get_GenKeyFlags(This,pdwFlags)
  2705.  
  2706. #define ICEnroll3_put_GenKeyFlags(This,dwFlags)    \
  2707.     (This)->lpVtbl -> put_GenKeyFlags(This,dwFlags)
  2708.  
  2709. #define ICEnroll3_get_DeleteRequestCert(This,fDelete)    \
  2710.     (This)->lpVtbl -> get_DeleteRequestCert(This,fDelete)
  2711.  
  2712. #define ICEnroll3_put_DeleteRequestCert(This,fDelete)    \
  2713.     (This)->lpVtbl -> put_DeleteRequestCert(This,fDelete)
  2714.  
  2715. #define ICEnroll3_get_WriteCertToCSP(This,fBool)    \
  2716.     (This)->lpVtbl -> get_WriteCertToCSP(This,fBool)
  2717.  
  2718. #define ICEnroll3_put_WriteCertToCSP(This,fBool)    \
  2719.     (This)->lpVtbl -> put_WriteCertToCSP(This,fBool)
  2720.  
  2721. #define ICEnroll3_get_SPCFileName(This,pbstr)    \
  2722.     (This)->lpVtbl -> get_SPCFileName(This,pbstr)
  2723.  
  2724. #define ICEnroll3_put_SPCFileName(This,bstr)    \
  2725.     (This)->lpVtbl -> put_SPCFileName(This,bstr)
  2726.  
  2727. #define ICEnroll3_get_PVKFileName(This,pbstr)    \
  2728.     (This)->lpVtbl -> get_PVKFileName(This,pbstr)
  2729.  
  2730. #define ICEnroll3_put_PVKFileName(This,bstr)    \
  2731.     (This)->lpVtbl -> put_PVKFileName(This,bstr)
  2732.  
  2733. #define ICEnroll3_get_HashAlgorithm(This,pbstr)    \
  2734.     (This)->lpVtbl -> get_HashAlgorithm(This,pbstr)
  2735.  
  2736. #define ICEnroll3_put_HashAlgorithm(This,bstr)    \
  2737.     (This)->lpVtbl -> put_HashAlgorithm(This,bstr)
  2738.  
  2739.  
  2740. #define ICEnroll3_addCertTypeToRequest(This,CertType)    \
  2741.     (This)->lpVtbl -> addCertTypeToRequest(This,CertType)
  2742.  
  2743. #define ICEnroll3_addNameValuePairToSignature(This,Name,Value)    \
  2744.     (This)->lpVtbl -> addNameValuePairToSignature(This,Name,Value)
  2745.  
  2746. #define ICEnroll3_get_WriteCertToUserDS(This,fBool)    \
  2747.     (This)->lpVtbl -> get_WriteCertToUserDS(This,fBool)
  2748.  
  2749. #define ICEnroll3_put_WriteCertToUserDS(This,fBool)    \
  2750.     (This)->lpVtbl -> put_WriteCertToUserDS(This,fBool)
  2751.  
  2752. #define ICEnroll3_get_EnableT61DNEncoding(This,fBool)    \
  2753.     (This)->lpVtbl -> get_EnableT61DNEncoding(This,fBool)
  2754.  
  2755. #define ICEnroll3_put_EnableT61DNEncoding(This,fBool)    \
  2756.     (This)->lpVtbl -> put_EnableT61DNEncoding(This,fBool)
  2757.  
  2758.  
  2759. #define ICEnroll3_InstallPKCS7(This,PKCS7)    \
  2760.     (This)->lpVtbl -> InstallPKCS7(This,PKCS7)
  2761.  
  2762. #define ICEnroll3_Reset(This)    \
  2763.     (This)->lpVtbl -> Reset(This)
  2764.  
  2765. #define ICEnroll3_GetSupportedKeySpec(This,pdwKeySpec)    \
  2766.     (This)->lpVtbl -> GetSupportedKeySpec(This,pdwKeySpec)
  2767.  
  2768. #define ICEnroll3_GetKeyLen(This,fMin,fExchange,pdwKeySize)    \
  2769.     (This)->lpVtbl -> GetKeyLen(This,fMin,fExchange,pdwKeySize)
  2770.  
  2771. #define ICEnroll3_EnumAlgs(This,dwIndex,algClass,pdwAlgID)    \
  2772.     (This)->lpVtbl -> EnumAlgs(This,dwIndex,algClass,pdwAlgID)
  2773.  
  2774. #define ICEnroll3_GetAlgName(This,algID,pbstr)    \
  2775.     (This)->lpVtbl -> GetAlgName(This,algID,pbstr)
  2776.  
  2777. #define ICEnroll3_put_ReuseHardwareKeyIfUnableToGenNew(This,fReuseHardwareKeyIfUnableToGenNew)    \
  2778.     (This)->lpVtbl -> put_ReuseHardwareKeyIfUnableToGenNew(This,fReuseHardwareKeyIfUnableToGenNew)
  2779.  
  2780. #define ICEnroll3_get_ReuseHardwareKeyIfUnableToGenNew(This,fReuseHardwareKeyIfUnableToGenNew)    \
  2781.     (This)->lpVtbl -> get_ReuseHardwareKeyIfUnableToGenNew(This,fReuseHardwareKeyIfUnableToGenNew)
  2782.  
  2783. #define ICEnroll3_put_HashAlgID(This,hashAlgID)    \
  2784.     (This)->lpVtbl -> put_HashAlgID(This,hashAlgID)
  2785.  
  2786. #define ICEnroll3_get_HashAlgID(This,hashAlgID)    \
  2787.     (This)->lpVtbl -> get_HashAlgID(This,hashAlgID)
  2788.  
  2789. #define ICEnroll3_put_LimitExchangeKeyToEncipherment(This,fLimitExchangeKeyToEncipherment)    \
  2790.     (This)->lpVtbl -> put_LimitExchangeKeyToEncipherment(This,fLimitExchangeKeyToEncipherment)
  2791.  
  2792. #define ICEnroll3_get_LimitExchangeKeyToEncipherment(This,fLimitExchangeKeyToEncipherment)    \
  2793.     (This)->lpVtbl -> get_LimitExchangeKeyToEncipherment(This,fLimitExchangeKeyToEncipherment)
  2794.  
  2795. #define ICEnroll3_put_EnableSMIMECapabilities(This,fEnableSMIMECapabilities)    \
  2796.     (This)->lpVtbl -> put_EnableSMIMECapabilities(This,fEnableSMIMECapabilities)
  2797.  
  2798. #define ICEnroll3_get_EnableSMIMECapabilities(This,fEnableSMIMECapabilities)    \
  2799.     (This)->lpVtbl -> get_EnableSMIMECapabilities(This,fEnableSMIMECapabilities)
  2800.  
  2801. #endif /* COBJMACROS */
  2802.  
  2803.  
  2804. #endif     /* C style interface */
  2805.  
  2806.  
  2807.  
  2808. HRESULT STDMETHODCALLTYPE ICEnroll3_InstallPKCS7_Proxy( 
  2809.     ICEnroll3 __RPC_FAR * This,
  2810.     /* [in] */ BSTR PKCS7);
  2811.  
  2812.  
  2813. void __RPC_STUB ICEnroll3_InstallPKCS7_Stub(
  2814.     IRpcStubBuffer *This,
  2815.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2816.     PRPC_MESSAGE _pRpcMessage,
  2817.     DWORD *_pdwStubPhase);
  2818.  
  2819.  
  2820. HRESULT STDMETHODCALLTYPE ICEnroll3_Reset_Proxy( 
  2821.     ICEnroll3 __RPC_FAR * This);
  2822.  
  2823.  
  2824. void __RPC_STUB ICEnroll3_Reset_Stub(
  2825.     IRpcStubBuffer *This,
  2826.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2827.     PRPC_MESSAGE _pRpcMessage,
  2828.     DWORD *_pdwStubPhase);
  2829.  
  2830.  
  2831. HRESULT STDMETHODCALLTYPE ICEnroll3_GetSupportedKeySpec_Proxy( 
  2832.     ICEnroll3 __RPC_FAR * This,
  2833.     /* [retval][out] */ DWORD __RPC_FAR *pdwKeySpec);
  2834.  
  2835.  
  2836. void __RPC_STUB ICEnroll3_GetSupportedKeySpec_Stub(
  2837.     IRpcStubBuffer *This,
  2838.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2839.     PRPC_MESSAGE _pRpcMessage,
  2840.     DWORD *_pdwStubPhase);
  2841.  
  2842.  
  2843. HRESULT STDMETHODCALLTYPE ICEnroll3_GetKeyLen_Proxy( 
  2844.     ICEnroll3 __RPC_FAR * This,
  2845.     /* [in] */ BOOL fMin,
  2846.     /* [in] */ BOOL fExchange,
  2847.     /* [retval][out] */ DWORD __RPC_FAR *pdwKeySize);
  2848.  
  2849.  
  2850. void __RPC_STUB ICEnroll3_GetKeyLen_Stub(
  2851.     IRpcStubBuffer *This,
  2852.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2853.     PRPC_MESSAGE _pRpcMessage,
  2854.     DWORD *_pdwStubPhase);
  2855.  
  2856.  
  2857. HRESULT STDMETHODCALLTYPE ICEnroll3_EnumAlgs_Proxy( 
  2858.     ICEnroll3 __RPC_FAR * This,
  2859.     /* [in] */ DWORD dwIndex,
  2860.     /* [in] */ DWORD algClass,
  2861.     /* [retval][out] */ DWORD __RPC_FAR *pdwAlgID);
  2862.  
  2863.  
  2864. void __RPC_STUB ICEnroll3_EnumAlgs_Stub(
  2865.     IRpcStubBuffer *This,
  2866.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2867.     PRPC_MESSAGE _pRpcMessage,
  2868.     DWORD *_pdwStubPhase);
  2869.  
  2870.  
  2871. HRESULT STDMETHODCALLTYPE ICEnroll3_GetAlgName_Proxy( 
  2872.     ICEnroll3 __RPC_FAR * This,
  2873.     /* [in] */ DWORD algID,
  2874.     /* [retval][out] */ BSTR __RPC_FAR *pbstr);
  2875.  
  2876.  
  2877. void __RPC_STUB ICEnroll3_GetAlgName_Stub(
  2878.     IRpcStubBuffer *This,
  2879.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2880.     PRPC_MESSAGE _pRpcMessage,
  2881.     DWORD *_pdwStubPhase);
  2882.  
  2883.  
  2884. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll3_put_ReuseHardwareKeyIfUnableToGenNew_Proxy( 
  2885.     ICEnroll3 __RPC_FAR * This,
  2886.     /* [in] */ BOOL fReuseHardwareKeyIfUnableToGenNew);
  2887.  
  2888.  
  2889. void __RPC_STUB ICEnroll3_put_ReuseHardwareKeyIfUnableToGenNew_Stub(
  2890.     IRpcStubBuffer *This,
  2891.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2892.     PRPC_MESSAGE _pRpcMessage,
  2893.     DWORD *_pdwStubPhase);
  2894.  
  2895.  
  2896. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll3_get_ReuseHardwareKeyIfUnableToGenNew_Proxy( 
  2897.     ICEnroll3 __RPC_FAR * This,
  2898.     /* [retval][out] */ BOOL __RPC_FAR *fReuseHardwareKeyIfUnableToGenNew);
  2899.  
  2900.  
  2901. void __RPC_STUB ICEnroll3_get_ReuseHardwareKeyIfUnableToGenNew_Stub(
  2902.     IRpcStubBuffer *This,
  2903.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2904.     PRPC_MESSAGE _pRpcMessage,
  2905.     DWORD *_pdwStubPhase);
  2906.  
  2907.  
  2908. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll3_put_HashAlgID_Proxy( 
  2909.     ICEnroll3 __RPC_FAR * This,
  2910.     /* [in] */ DWORD hashAlgID);
  2911.  
  2912.  
  2913. void __RPC_STUB ICEnroll3_put_HashAlgID_Stub(
  2914.     IRpcStubBuffer *This,
  2915.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2916.     PRPC_MESSAGE _pRpcMessage,
  2917.     DWORD *_pdwStubPhase);
  2918.  
  2919.  
  2920. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll3_get_HashAlgID_Proxy( 
  2921.     ICEnroll3 __RPC_FAR * This,
  2922.     /* [retval][out] */ DWORD __RPC_FAR *hashAlgID);
  2923.  
  2924.  
  2925. void __RPC_STUB ICEnroll3_get_HashAlgID_Stub(
  2926.     IRpcStubBuffer *This,
  2927.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2928.     PRPC_MESSAGE _pRpcMessage,
  2929.     DWORD *_pdwStubPhase);
  2930.  
  2931.  
  2932. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll3_put_LimitExchangeKeyToEncipherment_Proxy( 
  2933.     ICEnroll3 __RPC_FAR * This,
  2934.     /* [in] */ BOOL fLimitExchangeKeyToEncipherment);
  2935.  
  2936.  
  2937. void __RPC_STUB ICEnroll3_put_LimitExchangeKeyToEncipherment_Stub(
  2938.     IRpcStubBuffer *This,
  2939.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2940.     PRPC_MESSAGE _pRpcMessage,
  2941.     DWORD *_pdwStubPhase);
  2942.  
  2943.  
  2944. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll3_get_LimitExchangeKeyToEncipherment_Proxy( 
  2945.     ICEnroll3 __RPC_FAR * This,
  2946.     /* [retval][out] */ BOOL __RPC_FAR *fLimitExchangeKeyToEncipherment);
  2947.  
  2948.  
  2949. void __RPC_STUB ICEnroll3_get_LimitExchangeKeyToEncipherment_Stub(
  2950.     IRpcStubBuffer *This,
  2951.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2952.     PRPC_MESSAGE _pRpcMessage,
  2953.     DWORD *_pdwStubPhase);
  2954.  
  2955.  
  2956. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll3_put_EnableSMIMECapabilities_Proxy( 
  2957.     ICEnroll3 __RPC_FAR * This,
  2958.     /* [in] */ BOOL fEnableSMIMECapabilities);
  2959.  
  2960.  
  2961. void __RPC_STUB ICEnroll3_put_EnableSMIMECapabilities_Stub(
  2962.     IRpcStubBuffer *This,
  2963.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2964.     PRPC_MESSAGE _pRpcMessage,
  2965.     DWORD *_pdwStubPhase);
  2966.  
  2967.  
  2968. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll3_get_EnableSMIMECapabilities_Proxy( 
  2969.     ICEnroll3 __RPC_FAR * This,
  2970.     /* [retval][out] */ BOOL __RPC_FAR *fEnableSMIMECapabilities);
  2971.  
  2972.  
  2973. void __RPC_STUB ICEnroll3_get_EnableSMIMECapabilities_Stub(
  2974.     IRpcStubBuffer *This,
  2975.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2976.     PRPC_MESSAGE _pRpcMessage,
  2977.     DWORD *_pdwStubPhase);
  2978.  
  2979.  
  2980.  
  2981. #endif     /* __ICEnroll3_INTERFACE_DEFINED__ */
  2982.  
  2983.  
  2984. #ifndef __IEnroll_INTERFACE_DEFINED__
  2985. #define __IEnroll_INTERFACE_DEFINED__
  2986.  
  2987. /* interface IEnroll */
  2988. /* [unique][helpstring][local][uuid][object] */ 
  2989.  
  2990.  
  2991. EXTERN_C const IID IID_IEnroll;
  2992.  
  2993. #if defined(__cplusplus) && !defined(CINTERFACE)
  2994.     
  2995.     MIDL_INTERFACE("acaa7838-4585-11d1-ab57-00c04fc295e1")
  2996.     IEnroll : public IUnknown
  2997.     {
  2998.     public:
  2999.         virtual HRESULT STDMETHODCALLTYPE createFilePKCS10WStr( 
  3000.             /* [in] */ LPCWSTR DNName,
  3001.             /* [in] */ LPCWSTR Usage,
  3002.             /* [in] */ LPCWSTR wszPKCS10FileName) = 0;
  3003.         
  3004.         virtual HRESULT STDMETHODCALLTYPE acceptFilePKCS7WStr( 
  3005.             /* [in] */ LPCWSTR wszPKCS7FileName) = 0;
  3006.         
  3007.         virtual HRESULT STDMETHODCALLTYPE createPKCS10WStr( 
  3008.             /* [in] */ LPCWSTR DNName,
  3009.             /* [in] */ LPCWSTR Usage,
  3010.             /* [out] */ PCRYPT_DATA_BLOB pPkcs10Blob) = 0;
  3011.         
  3012.         virtual HRESULT STDMETHODCALLTYPE acceptPKCS7Blob( 
  3013.             /* [in] */ PCRYPT_DATA_BLOB pBlobPKCS7) = 0;
  3014.         
  3015.         virtual PCCERT_CONTEXT STDMETHODCALLTYPE getCertContextFromPKCS7( 
  3016.             /* [in] */ PCRYPT_DATA_BLOB pBlobPKCS7) = 0;
  3017.         
  3018.         virtual HCERTSTORE STDMETHODCALLTYPE getMyStore( void) = 0;
  3019.         
  3020.         virtual HCERTSTORE STDMETHODCALLTYPE getCAStore( void) = 0;
  3021.         
  3022.         virtual HCERTSTORE STDMETHODCALLTYPE getROOTHStore( void) = 0;
  3023.         
  3024.         virtual HRESULT STDMETHODCALLTYPE enumProvidersWStr( 
  3025.             /* [in] */ DWORD dwIndex,
  3026.             /* [in] */ DWORD dwFlags,
  3027.             /* [out] */ LPWSTR __RPC_FAR *pbstrProvName) = 0;
  3028.         
  3029.         virtual HRESULT STDMETHODCALLTYPE enumContainersWStr( 
  3030.             /* [in] */ DWORD dwIndex,
  3031.             /* [out] */ LPWSTR __RPC_FAR *pbstr) = 0;
  3032.         
  3033.         virtual HRESULT STDMETHODCALLTYPE freeRequestInfoBlob( 
  3034.             /* [in] */ CRYPT_DATA_BLOB pkcs7OrPkcs10) = 0;
  3035.         
  3036.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MyStoreNameWStr( 
  3037.             /* [out] */ LPWSTR __RPC_FAR *szwName) = 0;
  3038.         
  3039.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_MyStoreNameWStr( 
  3040.             /* [in] */ LPWSTR szwName) = 0;
  3041.         
  3042.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MyStoreTypeWStr( 
  3043.             /* [out] */ LPWSTR __RPC_FAR *szwType) = 0;
  3044.         
  3045.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_MyStoreTypeWStr( 
  3046.             /* [in] */ LPWSTR szwType) = 0;
  3047.         
  3048.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MyStoreFlags( 
  3049.             /* [out] */ DWORD __RPC_FAR *pdwFlags) = 0;
  3050.         
  3051.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_MyStoreFlags( 
  3052.             /* [in] */ DWORD dwFlags) = 0;
  3053.         
  3054.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_CAStoreNameWStr( 
  3055.             /* [out] */ LPWSTR __RPC_FAR *szwName) = 0;
  3056.         
  3057.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_CAStoreNameWStr( 
  3058.             /* [in] */ LPWSTR szwName) = 0;
  3059.         
  3060.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_CAStoreTypeWStr( 
  3061.             /* [out] */ LPWSTR __RPC_FAR *szwType) = 0;
  3062.         
  3063.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_CAStoreTypeWStr( 
  3064.             /* [in] */ LPWSTR szwType) = 0;
  3065.         
  3066.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_CAStoreFlags( 
  3067.             /* [out] */ DWORD __RPC_FAR *pdwFlags) = 0;
  3068.         
  3069.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_CAStoreFlags( 
  3070.             /* [in] */ DWORD dwFlags) = 0;
  3071.         
  3072.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RootStoreNameWStr( 
  3073.             /* [out] */ LPWSTR __RPC_FAR *szwName) = 0;
  3074.         
  3075.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_RootStoreNameWStr( 
  3076.             /* [in] */ LPWSTR szwName) = 0;
  3077.         
  3078.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RootStoreTypeWStr( 
  3079.             /* [out] */ LPWSTR __RPC_FAR *szwType) = 0;
  3080.         
  3081.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_RootStoreTypeWStr( 
  3082.             /* [in] */ LPWSTR szwType) = 0;
  3083.         
  3084.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RootStoreFlags( 
  3085.             /* [out] */ DWORD __RPC_FAR *pdwFlags) = 0;
  3086.         
  3087.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_RootStoreFlags( 
  3088.             /* [in] */ DWORD dwFlags) = 0;
  3089.         
  3090.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RequestStoreNameWStr( 
  3091.             /* [out] */ LPWSTR __RPC_FAR *szwName) = 0;
  3092.         
  3093.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_RequestStoreNameWStr( 
  3094.             /* [in] */ LPWSTR szwName) = 0;
  3095.         
  3096.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RequestStoreTypeWStr( 
  3097.             /* [out] */ LPWSTR __RPC_FAR *szwType) = 0;
  3098.         
  3099.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_RequestStoreTypeWStr( 
  3100.             /* [in] */ LPWSTR szwType) = 0;
  3101.         
  3102.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RequestStoreFlags( 
  3103.             /* [out] */ DWORD __RPC_FAR *pdwFlags) = 0;
  3104.         
  3105.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_RequestStoreFlags( 
  3106.             /* [in] */ DWORD dwFlags) = 0;
  3107.         
  3108.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ContainerNameWStr( 
  3109.             /* [out] */ LPWSTR __RPC_FAR *szwContainer) = 0;
  3110.         
  3111.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ContainerNameWStr( 
  3112.             /* [in] */ LPWSTR szwContainer) = 0;
  3113.         
  3114.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ProviderNameWStr( 
  3115.             /* [out] */ LPWSTR __RPC_FAR *szwProvider) = 0;
  3116.         
  3117.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ProviderNameWStr( 
  3118.             /* [in] */ LPWSTR szwProvider) = 0;
  3119.         
  3120.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ProviderType( 
  3121.             /* [out] */ DWORD __RPC_FAR *pdwType) = 0;
  3122.         
  3123.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ProviderType( 
  3124.             /* [in] */ DWORD dwType) = 0;
  3125.         
  3126.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_KeySpec( 
  3127.             /* [out] */ DWORD __RPC_FAR *pdw) = 0;
  3128.         
  3129.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_KeySpec( 
  3130.             /* [in] */ DWORD dw) = 0;
  3131.         
  3132.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ProviderFlags( 
  3133.             /* [out] */ DWORD __RPC_FAR *pdwFlags) = 0;
  3134.         
  3135.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ProviderFlags( 
  3136.             /* [in] */ DWORD dwFlags) = 0;
  3137.         
  3138.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_UseExistingKeySet( 
  3139.             /* [out] */ BOOL __RPC_FAR *fUseExistingKeys) = 0;
  3140.         
  3141.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_UseExistingKeySet( 
  3142.             /* [in] */ BOOL fUseExistingKeys) = 0;
  3143.         
  3144.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_GenKeyFlags( 
  3145.             /* [out] */ DWORD __RPC_FAR *pdwFlags) = 0;
  3146.         
  3147.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_GenKeyFlags( 
  3148.             /* [in] */ DWORD dwFlags) = 0;
  3149.         
  3150.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DeleteRequestCert( 
  3151.             /* [out] */ BOOL __RPC_FAR *fDelete) = 0;
  3152.         
  3153.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DeleteRequestCert( 
  3154.             /* [in] */ BOOL fDelete) = 0;
  3155.         
  3156.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_WriteCertToUserDS( 
  3157.             /* [out] */ BOOL __RPC_FAR *fBool) = 0;
  3158.         
  3159.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_WriteCertToUserDS( 
  3160.             /* [in] */ BOOL fBool) = 0;
  3161.         
  3162.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_EnableT61DNEncoding( 
  3163.             /* [out] */ BOOL __RPC_FAR *fBool) = 0;
  3164.         
  3165.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_EnableT61DNEncoding( 
  3166.             /* [in] */ BOOL fBool) = 0;
  3167.         
  3168.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_WriteCertToCSP( 
  3169.             /* [out] */ BOOL __RPC_FAR *fBool) = 0;
  3170.         
  3171.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_WriteCertToCSP( 
  3172.             /* [in] */ BOOL fBool) = 0;
  3173.         
  3174.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SPCFileNameWStr( 
  3175.             /* [out] */ LPWSTR __RPC_FAR *szw) = 0;
  3176.         
  3177.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_SPCFileNameWStr( 
  3178.             /* [in] */ LPWSTR szw) = 0;
  3179.         
  3180.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PVKFileNameWStr( 
  3181.             /* [out] */ LPWSTR __RPC_FAR *szw) = 0;
  3182.         
  3183.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_PVKFileNameWStr( 
  3184.             /* [in] */ LPWSTR szw) = 0;
  3185.         
  3186.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HashAlgorithmWStr( 
  3187.             /* [out] */ LPWSTR __RPC_FAR *szw) = 0;
  3188.         
  3189.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_HashAlgorithmWStr( 
  3190.             /* [in] */ LPWSTR szw) = 0;
  3191.         
  3192.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RenewalCertificate( 
  3193.             /* [out] */ PCCERT_CONTEXT __RPC_FAR *ppCertContext) = 0;
  3194.         
  3195.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_RenewalCertificate( 
  3196.             /* [in] */ PCCERT_CONTEXT pCertContext) = 0;
  3197.         
  3198.         virtual HRESULT STDMETHODCALLTYPE AddCertTypeToRequestWStr( 
  3199.             /* [in] */ LPWSTR szw) = 0;
  3200.         
  3201.         virtual HRESULT STDMETHODCALLTYPE AddNameValuePairToSignatureWStr( 
  3202.             /* [in] */ LPWSTR Name,
  3203.             /* [in] */ LPWSTR Value) = 0;
  3204.         
  3205.         virtual HRESULT STDMETHODCALLTYPE AddExtensionsToRequest( 
  3206.             /* [in] */ PCERT_EXTENSIONS pCertExtensions) = 0;
  3207.         
  3208.         virtual HRESULT STDMETHODCALLTYPE AddAuthenticatedAttributesToPKCS7Request( 
  3209.             /* [in] */ PCRYPT_ATTRIBUTES pAttributes) = 0;
  3210.         
  3211.         virtual HRESULT STDMETHODCALLTYPE CreatePKCS7RequestFromRequest( 
  3212.             /* [in] */ PCRYPT_DATA_BLOB pRequest,
  3213.             /* [in] */ PCCERT_CONTEXT pSigningCertContext,
  3214.             /* [out] */ PCRYPT_DATA_BLOB pPkcs7Blob) = 0;
  3215.         
  3216.     };
  3217.     
  3218. #else     /* C style interface */
  3219.  
  3220.     typedef struct IEnrollVtbl
  3221.     {
  3222.         BEGIN_INTERFACE
  3223.         
  3224.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  3225.             IEnroll __RPC_FAR * This,
  3226.             /* [in] */ REFIID riid,
  3227.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3228.         
  3229.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  3230.             IEnroll __RPC_FAR * This);
  3231.         
  3232.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  3233.             IEnroll __RPC_FAR * This);
  3234.         
  3235.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *createFilePKCS10WStr )( 
  3236.             IEnroll __RPC_FAR * This,
  3237.             /* [in] */ LPCWSTR DNName,
  3238.             /* [in] */ LPCWSTR Usage,
  3239.             /* [in] */ LPCWSTR wszPKCS10FileName);
  3240.         
  3241.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *acceptFilePKCS7WStr )( 
  3242.             IEnroll __RPC_FAR * This,
  3243.             /* [in] */ LPCWSTR wszPKCS7FileName);
  3244.         
  3245.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *createPKCS10WStr )( 
  3246.             IEnroll __RPC_FAR * This,
  3247.             /* [in] */ LPCWSTR DNName,
  3248.             /* [in] */ LPCWSTR Usage,
  3249.             /* [out] */ PCRYPT_DATA_BLOB pPkcs10Blob);
  3250.         
  3251.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *acceptPKCS7Blob )( 
  3252.             IEnroll __RPC_FAR * This,
  3253.             /* [in] */ PCRYPT_DATA_BLOB pBlobPKCS7);
  3254.         
  3255.         PCCERT_CONTEXT ( STDMETHODCALLTYPE __RPC_FAR *getCertContextFromPKCS7 )( 
  3256.             IEnroll __RPC_FAR * This,
  3257.             /* [in] */ PCRYPT_DATA_BLOB pBlobPKCS7);
  3258.         
  3259.         HCERTSTORE ( STDMETHODCALLTYPE __RPC_FAR *getMyStore )( 
  3260.             IEnroll __RPC_FAR * This);
  3261.         
  3262.         HCERTSTORE ( STDMETHODCALLTYPE __RPC_FAR *getCAStore )( 
  3263.             IEnroll __RPC_FAR * This);
  3264.         
  3265.         HCERTSTORE ( STDMETHODCALLTYPE __RPC_FAR *getROOTHStore )( 
  3266.             IEnroll __RPC_FAR * This);
  3267.         
  3268.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *enumProvidersWStr )( 
  3269.             IEnroll __RPC_FAR * This,
  3270.             /* [in] */ DWORD dwIndex,
  3271.             /* [in] */ DWORD dwFlags,
  3272.             /* [out] */ LPWSTR __RPC_FAR *pbstrProvName);
  3273.         
  3274.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *enumContainersWStr )( 
  3275.             IEnroll __RPC_FAR * This,
  3276.             /* [in] */ DWORD dwIndex,
  3277.             /* [out] */ LPWSTR __RPC_FAR *pbstr);
  3278.         
  3279.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *freeRequestInfoBlob )( 
  3280.             IEnroll __RPC_FAR * This,
  3281.             /* [in] */ CRYPT_DATA_BLOB pkcs7OrPkcs10);
  3282.         
  3283.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_MyStoreNameWStr )( 
  3284.             IEnroll __RPC_FAR * This,
  3285.             /* [out] */ LPWSTR __RPC_FAR *szwName);
  3286.         
  3287.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_MyStoreNameWStr )( 
  3288.             IEnroll __RPC_FAR * This,
  3289.             /* [in] */ LPWSTR szwName);
  3290.         
  3291.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_MyStoreTypeWStr )( 
  3292.             IEnroll __RPC_FAR * This,
  3293.             /* [out] */ LPWSTR __RPC_FAR *szwType);
  3294.         
  3295.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_MyStoreTypeWStr )( 
  3296.             IEnroll __RPC_FAR * This,
  3297.             /* [in] */ LPWSTR szwType);
  3298.         
  3299.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_MyStoreFlags )( 
  3300.             IEnroll __RPC_FAR * This,
  3301.             /* [out] */ DWORD __RPC_FAR *pdwFlags);
  3302.         
  3303.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_MyStoreFlags )( 
  3304.             IEnroll __RPC_FAR * This,
  3305.             /* [in] */ DWORD dwFlags);
  3306.         
  3307.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CAStoreNameWStr )( 
  3308.             IEnroll __RPC_FAR * This,
  3309.             /* [out] */ LPWSTR __RPC_FAR *szwName);
  3310.         
  3311.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_CAStoreNameWStr )( 
  3312.             IEnroll __RPC_FAR * This,
  3313.             /* [in] */ LPWSTR szwName);
  3314.         
  3315.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CAStoreTypeWStr )( 
  3316.             IEnroll __RPC_FAR * This,
  3317.             /* [out] */ LPWSTR __RPC_FAR *szwType);
  3318.         
  3319.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_CAStoreTypeWStr )( 
  3320.             IEnroll __RPC_FAR * This,
  3321.             /* [in] */ LPWSTR szwType);
  3322.         
  3323.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CAStoreFlags )( 
  3324.             IEnroll __RPC_FAR * This,
  3325.             /* [out] */ DWORD __RPC_FAR *pdwFlags);
  3326.         
  3327.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_CAStoreFlags )( 
  3328.             IEnroll __RPC_FAR * This,
  3329.             /* [in] */ DWORD dwFlags);
  3330.         
  3331.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_RootStoreNameWStr )( 
  3332.             IEnroll __RPC_FAR * This,
  3333.             /* [out] */ LPWSTR __RPC_FAR *szwName);
  3334.         
  3335.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_RootStoreNameWStr )( 
  3336.             IEnroll __RPC_FAR * This,
  3337.             /* [in] */ LPWSTR szwName);
  3338.         
  3339.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_RootStoreTypeWStr )( 
  3340.             IEnroll __RPC_FAR * This,
  3341.             /* [out] */ LPWSTR __RPC_FAR *szwType);
  3342.         
  3343.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_RootStoreTypeWStr )( 
  3344.             IEnroll __RPC_FAR * This,
  3345.             /* [in] */ LPWSTR szwType);
  3346.         
  3347.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_RootStoreFlags )( 
  3348.             IEnroll __RPC_FAR * This,
  3349.             /* [out] */ DWORD __RPC_FAR *pdwFlags);
  3350.         
  3351.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_RootStoreFlags )( 
  3352.             IEnroll __RPC_FAR * This,
  3353.             /* [in] */ DWORD dwFlags);
  3354.         
  3355.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_RequestStoreNameWStr )( 
  3356.             IEnroll __RPC_FAR * This,
  3357.             /* [out] */ LPWSTR __RPC_FAR *szwName);
  3358.         
  3359.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_RequestStoreNameWStr )( 
  3360.             IEnroll __RPC_FAR * This,
  3361.             /* [in] */ LPWSTR szwName);
  3362.         
  3363.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_RequestStoreTypeWStr )( 
  3364.             IEnroll __RPC_FAR * This,
  3365.             /* [out] */ LPWSTR __RPC_FAR *szwType);
  3366.         
  3367.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_RequestStoreTypeWStr )( 
  3368.             IEnroll __RPC_FAR * This,
  3369.             /* [in] */ LPWSTR szwType);
  3370.         
  3371.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_RequestStoreFlags )( 
  3372.             IEnroll __RPC_FAR * This,
  3373.             /* [out] */ DWORD __RPC_FAR *pdwFlags);
  3374.         
  3375.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_RequestStoreFlags )( 
  3376.             IEnroll __RPC_FAR * This,
  3377.             /* [in] */ DWORD dwFlags);
  3378.         
  3379.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ContainerNameWStr )( 
  3380.             IEnroll __RPC_FAR * This,
  3381.             /* [out] */ LPWSTR __RPC_FAR *szwContainer);
  3382.         
  3383.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ContainerNameWStr )( 
  3384.             IEnroll __RPC_FAR * This,
  3385.             /* [in] */ LPWSTR szwContainer);
  3386.         
  3387.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ProviderNameWStr )( 
  3388.             IEnroll __RPC_FAR * This,
  3389.             /* [out] */ LPWSTR __RPC_FAR *szwProvider);
  3390.         
  3391.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ProviderNameWStr )( 
  3392.             IEnroll __RPC_FAR * This,
  3393.             /* [in] */ LPWSTR szwProvider);
  3394.         
  3395.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ProviderType )( 
  3396.             IEnroll __RPC_FAR * This,
  3397.             /* [out] */ DWORD __RPC_FAR *pdwType);
  3398.         
  3399.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ProviderType )( 
  3400.             IEnroll __RPC_FAR * This,
  3401.             /* [in] */ DWORD dwType);
  3402.         
  3403.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_KeySpec )( 
  3404.             IEnroll __RPC_FAR * This,
  3405.             /* [out] */ DWORD __RPC_FAR *pdw);
  3406.         
  3407.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_KeySpec )( 
  3408.             IEnroll __RPC_FAR * This,
  3409.             /* [in] */ DWORD dw);
  3410.         
  3411.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ProviderFlags )( 
  3412.             IEnroll __RPC_FAR * This,
  3413.             /* [out] */ DWORD __RPC_FAR *pdwFlags);
  3414.         
  3415.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ProviderFlags )( 
  3416.             IEnroll __RPC_FAR * This,
  3417.             /* [in] */ DWORD dwFlags);
  3418.         
  3419.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_UseExistingKeySet )( 
  3420.             IEnroll __RPC_FAR * This,
  3421.             /* [out] */ BOOL __RPC_FAR *fUseExistingKeys);
  3422.         
  3423.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_UseExistingKeySet )( 
  3424.             IEnroll __RPC_FAR * This,
  3425.             /* [in] */ BOOL fUseExistingKeys);
  3426.         
  3427.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_GenKeyFlags )( 
  3428.             IEnroll __RPC_FAR * This,
  3429.             /* [out] */ DWORD __RPC_FAR *pdwFlags);
  3430.         
  3431.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_GenKeyFlags )( 
  3432.             IEnroll __RPC_FAR * This,
  3433.             /* [in] */ DWORD dwFlags);
  3434.         
  3435.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DeleteRequestCert )( 
  3436.             IEnroll __RPC_FAR * This,
  3437.             /* [out] */ BOOL __RPC_FAR *fDelete);
  3438.         
  3439.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DeleteRequestCert )( 
  3440.             IEnroll __RPC_FAR * This,
  3441.             /* [in] */ BOOL fDelete);
  3442.         
  3443.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_WriteCertToUserDS )( 
  3444.             IEnroll __RPC_FAR * This,
  3445.             /* [out] */ BOOL __RPC_FAR *fBool);
  3446.         
  3447.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_WriteCertToUserDS )( 
  3448.             IEnroll __RPC_FAR * This,
  3449.             /* [in] */ BOOL fBool);
  3450.         
  3451.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EnableT61DNEncoding )( 
  3452.             IEnroll __RPC_FAR * This,
  3453.             /* [out] */ BOOL __RPC_FAR *fBool);
  3454.         
  3455.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_EnableT61DNEncoding )( 
  3456.             IEnroll __RPC_FAR * This,
  3457.             /* [in] */ BOOL fBool);
  3458.         
  3459.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_WriteCertToCSP )( 
  3460.             IEnroll __RPC_FAR * This,
  3461.             /* [out] */ BOOL __RPC_FAR *fBool);
  3462.         
  3463.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_WriteCertToCSP )( 
  3464.             IEnroll __RPC_FAR * This,
  3465.             /* [in] */ BOOL fBool);
  3466.         
  3467.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_SPCFileNameWStr )( 
  3468.             IEnroll __RPC_FAR * This,
  3469.             /* [out] */ LPWSTR __RPC_FAR *szw);
  3470.         
  3471.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_SPCFileNameWStr )( 
  3472.             IEnroll __RPC_FAR * This,
  3473.             /* [in] */ LPWSTR szw);
  3474.         
  3475.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_PVKFileNameWStr )( 
  3476.             IEnroll __RPC_FAR * This,
  3477.             /* [out] */ LPWSTR __RPC_FAR *szw);
  3478.         
  3479.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_PVKFileNameWStr )( 
  3480.             IEnroll __RPC_FAR * This,
  3481.             /* [in] */ LPWSTR szw);
  3482.         
  3483.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_HashAlgorithmWStr )( 
  3484.             IEnroll __RPC_FAR * This,
  3485.             /* [out] */ LPWSTR __RPC_FAR *szw);
  3486.         
  3487.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_HashAlgorithmWStr )( 
  3488.             IEnroll __RPC_FAR * This,
  3489.             /* [in] */ LPWSTR szw);
  3490.         
  3491.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_RenewalCertificate )( 
  3492.             IEnroll __RPC_FAR * This,
  3493.             /* [out] */ PCCERT_CONTEXT __RPC_FAR *ppCertContext);
  3494.         
  3495.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_RenewalCertificate )( 
  3496.             IEnroll __RPC_FAR * This,
  3497.             /* [in] */ PCCERT_CONTEXT pCertContext);
  3498.         
  3499.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddCertTypeToRequestWStr )( 
  3500.             IEnroll __RPC_FAR * This,
  3501.             /* [in] */ LPWSTR szw);
  3502.         
  3503.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddNameValuePairToSignatureWStr )( 
  3504.             IEnroll __RPC_FAR * This,
  3505.             /* [in] */ LPWSTR Name,
  3506.             /* [in] */ LPWSTR Value);
  3507.         
  3508.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddExtensionsToRequest )( 
  3509.             IEnroll __RPC_FAR * This,
  3510.             /* [in] */ PCERT_EXTENSIONS pCertExtensions);
  3511.         
  3512.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddAuthenticatedAttributesToPKCS7Request )( 
  3513.             IEnroll __RPC_FAR * This,
  3514.             /* [in] */ PCRYPT_ATTRIBUTES pAttributes);
  3515.         
  3516.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreatePKCS7RequestFromRequest )( 
  3517.             IEnroll __RPC_FAR * This,
  3518.             /* [in] */ PCRYPT_DATA_BLOB pRequest,
  3519.             /* [in] */ PCCERT_CONTEXT pSigningCertContext,
  3520.             /* [out] */ PCRYPT_DATA_BLOB pPkcs7Blob);
  3521.         
  3522.         END_INTERFACE
  3523.     } IEnrollVtbl;
  3524.  
  3525.     interface IEnroll
  3526.     {
  3527.         CONST_VTBL struct IEnrollVtbl __RPC_FAR *lpVtbl;
  3528.     };
  3529.  
  3530.     
  3531.  
  3532. #ifdef COBJMACROS
  3533.  
  3534.  
  3535. #define IEnroll_QueryInterface(This,riid,ppvObject)    \
  3536.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3537.  
  3538. #define IEnroll_AddRef(This)    \
  3539.     (This)->lpVtbl -> AddRef(This)
  3540.  
  3541. #define IEnroll_Release(This)    \
  3542.     (This)->lpVtbl -> Release(This)
  3543.  
  3544.  
  3545. #define IEnroll_createFilePKCS10WStr(This,DNName,Usage,wszPKCS10FileName)    \
  3546.     (This)->lpVtbl -> createFilePKCS10WStr(This,DNName,Usage,wszPKCS10FileName)
  3547.  
  3548. #define IEnroll_acceptFilePKCS7WStr(This,wszPKCS7FileName)    \
  3549.     (This)->lpVtbl -> acceptFilePKCS7WStr(This,wszPKCS7FileName)
  3550.  
  3551. #define IEnroll_createPKCS10WStr(This,DNName,Usage,pPkcs10Blob)    \
  3552.     (This)->lpVtbl -> createPKCS10WStr(This,DNName,Usage,pPkcs10Blob)
  3553.  
  3554. #define IEnroll_acceptPKCS7Blob(This,pBlobPKCS7)    \
  3555.     (This)->lpVtbl -> acceptPKCS7Blob(This,pBlobPKCS7)
  3556.  
  3557. #define IEnroll_getCertContextFromPKCS7(This,pBlobPKCS7)    \
  3558.     (This)->lpVtbl -> getCertContextFromPKCS7(This,pBlobPKCS7)
  3559.  
  3560. #define IEnroll_getMyStore(This)    \
  3561.     (This)->lpVtbl -> getMyStore(This)
  3562.  
  3563. #define IEnroll_getCAStore(This)    \
  3564.     (This)->lpVtbl -> getCAStore(This)
  3565.  
  3566. #define IEnroll_getROOTHStore(This)    \
  3567.     (This)->lpVtbl -> getROOTHStore(This)
  3568.  
  3569. #define IEnroll_enumProvidersWStr(This,dwIndex,dwFlags,pbstrProvName)    \
  3570.     (This)->lpVtbl -> enumProvidersWStr(This,dwIndex,dwFlags,pbstrProvName)
  3571.  
  3572. #define IEnroll_enumContainersWStr(This,dwIndex,pbstr)    \
  3573.     (This)->lpVtbl -> enumContainersWStr(This,dwIndex,pbstr)
  3574.  
  3575. #define IEnroll_freeRequestInfoBlob(This,pkcs7OrPkcs10)    \
  3576.     (This)->lpVtbl -> freeRequestInfoBlob(This,pkcs7OrPkcs10)
  3577.  
  3578. #define IEnroll_get_MyStoreNameWStr(This,szwName)    \
  3579.     (This)->lpVtbl -> get_MyStoreNameWStr(This,szwName)
  3580.  
  3581. #define IEnroll_put_MyStoreNameWStr(This,szwName)    \
  3582.     (This)->lpVtbl -> put_MyStoreNameWStr(This,szwName)
  3583.  
  3584. #define IEnroll_get_MyStoreTypeWStr(This,szwType)    \
  3585.     (This)->lpVtbl -> get_MyStoreTypeWStr(This,szwType)
  3586.  
  3587. #define IEnroll_put_MyStoreTypeWStr(This,szwType)    \
  3588.     (This)->lpVtbl -> put_MyStoreTypeWStr(This,szwType)
  3589.  
  3590. #define IEnroll_get_MyStoreFlags(This,pdwFlags)    \
  3591.     (This)->lpVtbl -> get_MyStoreFlags(This,pdwFlags)
  3592.  
  3593. #define IEnroll_put_MyStoreFlags(This,dwFlags)    \
  3594.     (This)->lpVtbl -> put_MyStoreFlags(This,dwFlags)
  3595.  
  3596. #define IEnroll_get_CAStoreNameWStr(This,szwName)    \
  3597.     (This)->lpVtbl -> get_CAStoreNameWStr(This,szwName)
  3598.  
  3599. #define IEnroll_put_CAStoreNameWStr(This,szwName)    \
  3600.     (This)->lpVtbl -> put_CAStoreNameWStr(This,szwName)
  3601.  
  3602. #define IEnroll_get_CAStoreTypeWStr(This,szwType)    \
  3603.     (This)->lpVtbl -> get_CAStoreTypeWStr(This,szwType)
  3604.  
  3605. #define IEnroll_put_CAStoreTypeWStr(This,szwType)    \
  3606.     (This)->lpVtbl -> put_CAStoreTypeWStr(This,szwType)
  3607.  
  3608. #define IEnroll_get_CAStoreFlags(This,pdwFlags)    \
  3609.     (This)->lpVtbl -> get_CAStoreFlags(This,pdwFlags)
  3610.  
  3611. #define IEnroll_put_CAStoreFlags(This,dwFlags)    \
  3612.     (This)->lpVtbl -> put_CAStoreFlags(This,dwFlags)
  3613.  
  3614. #define IEnroll_get_RootStoreNameWStr(This,szwName)    \
  3615.     (This)->lpVtbl -> get_RootStoreNameWStr(This,szwName)
  3616.  
  3617. #define IEnroll_put_RootStoreNameWStr(This,szwName)    \
  3618.     (This)->lpVtbl -> put_RootStoreNameWStr(This,szwName)
  3619.  
  3620. #define IEnroll_get_RootStoreTypeWStr(This,szwType)    \
  3621.     (This)->lpVtbl -> get_RootStoreTypeWStr(This,szwType)
  3622.  
  3623. #define IEnroll_put_RootStoreTypeWStr(This,szwType)    \
  3624.     (This)->lpVtbl -> put_RootStoreTypeWStr(This,szwType)
  3625.  
  3626. #define IEnroll_get_RootStoreFlags(This,pdwFlags)    \
  3627.     (This)->lpVtbl -> get_RootStoreFlags(This,pdwFlags)
  3628.  
  3629. #define IEnroll_put_RootStoreFlags(This,dwFlags)    \
  3630.     (This)->lpVtbl -> put_RootStoreFlags(This,dwFlags)
  3631.  
  3632. #define IEnroll_get_RequestStoreNameWStr(This,szwName)    \
  3633.     (This)->lpVtbl -> get_RequestStoreNameWStr(This,szwName)
  3634.  
  3635. #define IEnroll_put_RequestStoreNameWStr(This,szwName)    \
  3636.     (This)->lpVtbl -> put_RequestStoreNameWStr(This,szwName)
  3637.  
  3638. #define IEnroll_get_RequestStoreTypeWStr(This,szwType)    \
  3639.     (This)->lpVtbl -> get_RequestStoreTypeWStr(This,szwType)
  3640.  
  3641. #define IEnroll_put_RequestStoreTypeWStr(This,szwType)    \
  3642.     (This)->lpVtbl -> put_RequestStoreTypeWStr(This,szwType)
  3643.  
  3644. #define IEnroll_get_RequestStoreFlags(This,pdwFlags)    \
  3645.     (This)->lpVtbl -> get_RequestStoreFlags(This,pdwFlags)
  3646.  
  3647. #define IEnroll_put_RequestStoreFlags(This,dwFlags)    \
  3648.     (This)->lpVtbl -> put_RequestStoreFlags(This,dwFlags)
  3649.  
  3650. #define IEnroll_get_ContainerNameWStr(This,szwContainer)    \
  3651.     (This)->lpVtbl -> get_ContainerNameWStr(This,szwContainer)
  3652.  
  3653. #define IEnroll_put_ContainerNameWStr(This,szwContainer)    \
  3654.     (This)->lpVtbl -> put_ContainerNameWStr(This,szwContainer)
  3655.  
  3656. #define IEnroll_get_ProviderNameWStr(This,szwProvider)    \
  3657.     (This)->lpVtbl -> get_ProviderNameWStr(This,szwProvider)
  3658.  
  3659. #define IEnroll_put_ProviderNameWStr(This,szwProvider)    \
  3660.     (This)->lpVtbl -> put_ProviderNameWStr(This,szwProvider)
  3661.  
  3662. #define IEnroll_get_ProviderType(This,pdwType)    \
  3663.     (This)->lpVtbl -> get_ProviderType(This,pdwType)
  3664.  
  3665. #define IEnroll_put_ProviderType(This,dwType)    \
  3666.     (This)->lpVtbl -> put_ProviderType(This,dwType)
  3667.  
  3668. #define IEnroll_get_KeySpec(This,pdw)    \
  3669.     (This)->lpVtbl -> get_KeySpec(This,pdw)
  3670.  
  3671. #define IEnroll_put_KeySpec(This,dw)    \
  3672.     (This)->lpVtbl -> put_KeySpec(This,dw)
  3673.  
  3674. #define IEnroll_get_ProviderFlags(This,pdwFlags)    \
  3675.     (This)->lpVtbl -> get_ProviderFlags(This,pdwFlags)
  3676.  
  3677. #define IEnroll_put_ProviderFlags(This,dwFlags)    \
  3678.     (This)->lpVtbl -> put_ProviderFlags(This,dwFlags)
  3679.  
  3680. #define IEnroll_get_UseExistingKeySet(This,fUseExistingKeys)    \
  3681.     (This)->lpVtbl -> get_UseExistingKeySet(This,fUseExistingKeys)
  3682.  
  3683. #define IEnroll_put_UseExistingKeySet(This,fUseExistingKeys)    \
  3684.     (This)->lpVtbl -> put_UseExistingKeySet(This,fUseExistingKeys)
  3685.  
  3686. #define IEnroll_get_GenKeyFlags(This,pdwFlags)    \
  3687.     (This)->lpVtbl -> get_GenKeyFlags(This,pdwFlags)
  3688.  
  3689. #define IEnroll_put_GenKeyFlags(This,dwFlags)    \
  3690.     (This)->lpVtbl -> put_GenKeyFlags(This,dwFlags)
  3691.  
  3692. #define IEnroll_get_DeleteRequestCert(This,fDelete)    \
  3693.     (This)->lpVtbl -> get_DeleteRequestCert(This,fDelete)
  3694.  
  3695. #define IEnroll_put_DeleteRequestCert(This,fDelete)    \
  3696.     (This)->lpVtbl -> put_DeleteRequestCert(This,fDelete)
  3697.  
  3698. #define IEnroll_get_WriteCertToUserDS(This,fBool)    \
  3699.     (This)->lpVtbl -> get_WriteCertToUserDS(This,fBool)
  3700.  
  3701. #define IEnroll_put_WriteCertToUserDS(This,fBool)    \
  3702.     (This)->lpVtbl -> put_WriteCertToUserDS(This,fBool)
  3703.  
  3704. #define IEnroll_get_EnableT61DNEncoding(This,fBool)    \
  3705.     (This)->lpVtbl -> get_EnableT61DNEncoding(This,fBool)
  3706.  
  3707. #define IEnroll_put_EnableT61DNEncoding(This,fBool)    \
  3708.     (This)->lpVtbl -> put_EnableT61DNEncoding(This,fBool)
  3709.  
  3710. #define IEnroll_get_WriteCertToCSP(This,fBool)    \
  3711.     (This)->lpVtbl -> get_WriteCertToCSP(This,fBool)
  3712.  
  3713. #define IEnroll_put_WriteCertToCSP(This,fBool)    \
  3714.     (This)->lpVtbl -> put_WriteCertToCSP(This,fBool)
  3715.  
  3716. #define IEnroll_get_SPCFileNameWStr(This,szw)    \
  3717.     (This)->lpVtbl -> get_SPCFileNameWStr(This,szw)
  3718.  
  3719. #define IEnroll_put_SPCFileNameWStr(This,szw)    \
  3720.     (This)->lpVtbl -> put_SPCFileNameWStr(This,szw)
  3721.  
  3722. #define IEnroll_get_PVKFileNameWStr(This,szw)    \
  3723.     (This)->lpVtbl -> get_PVKFileNameWStr(This,szw)
  3724.  
  3725. #define IEnroll_put_PVKFileNameWStr(This,szw)    \
  3726.     (This)->lpVtbl -> put_PVKFileNameWStr(This,szw)
  3727.  
  3728. #define IEnroll_get_HashAlgorithmWStr(This,szw)    \
  3729.     (This)->lpVtbl -> get_HashAlgorithmWStr(This,szw)
  3730.  
  3731. #define IEnroll_put_HashAlgorithmWStr(This,szw)    \
  3732.     (This)->lpVtbl -> put_HashAlgorithmWStr(This,szw)
  3733.  
  3734. #define IEnroll_get_RenewalCertificate(This,ppCertContext)    \
  3735.     (This)->lpVtbl -> get_RenewalCertificate(This,ppCertContext)
  3736.  
  3737. #define IEnroll_put_RenewalCertificate(This,pCertContext)    \
  3738.     (This)->lpVtbl -> put_RenewalCertificate(This,pCertContext)
  3739.  
  3740. #define IEnroll_AddCertTypeToRequestWStr(This,szw)    \
  3741.     (This)->lpVtbl -> AddCertTypeToRequestWStr(This,szw)
  3742.  
  3743. #define IEnroll_AddNameValuePairToSignatureWStr(This,Name,Value)    \
  3744.     (This)->lpVtbl -> AddNameValuePairToSignatureWStr(This,Name,Value)
  3745.  
  3746. #define IEnroll_AddExtensionsToRequest(This,pCertExtensions)    \
  3747.     (This)->lpVtbl -> AddExtensionsToRequest(This,pCertExtensions)
  3748.  
  3749. #define IEnroll_AddAuthenticatedAttributesToPKCS7Request(This,pAttributes)    \
  3750.     (This)->lpVtbl -> AddAuthenticatedAttributesToPKCS7Request(This,pAttributes)
  3751.  
  3752. #define IEnroll_CreatePKCS7RequestFromRequest(This,pRequest,pSigningCertContext,pPkcs7Blob)    \
  3753.     (This)->lpVtbl -> CreatePKCS7RequestFromRequest(This,pRequest,pSigningCertContext,pPkcs7Blob)
  3754.  
  3755. #endif /* COBJMACROS */
  3756.  
  3757.  
  3758. #endif     /* C style interface */
  3759.  
  3760.  
  3761.  
  3762. HRESULT STDMETHODCALLTYPE IEnroll_createFilePKCS10WStr_Proxy( 
  3763.     IEnroll __RPC_FAR * This,
  3764.     /* [in] */ LPCWSTR DNName,
  3765.     /* [in] */ LPCWSTR Usage,
  3766.     /* [in] */ LPCWSTR wszPKCS10FileName);
  3767.  
  3768.  
  3769. void __RPC_STUB IEnroll_createFilePKCS10WStr_Stub(
  3770.     IRpcStubBuffer *This,
  3771.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3772.     PRPC_MESSAGE _pRpcMessage,
  3773.     DWORD *_pdwStubPhase);
  3774.  
  3775.  
  3776. HRESULT STDMETHODCALLTYPE IEnroll_acceptFilePKCS7WStr_Proxy( 
  3777.     IEnroll __RPC_FAR * This,
  3778.     /* [in] */ LPCWSTR wszPKCS7FileName);
  3779.  
  3780.  
  3781. void __RPC_STUB IEnroll_acceptFilePKCS7WStr_Stub(
  3782.     IRpcStubBuffer *This,
  3783.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3784.     PRPC_MESSAGE _pRpcMessage,
  3785.     DWORD *_pdwStubPhase);
  3786.  
  3787.  
  3788. HRESULT STDMETHODCALLTYPE IEnroll_createPKCS10WStr_Proxy( 
  3789.     IEnroll __RPC_FAR * This,
  3790.     /* [in] */ LPCWSTR DNName,
  3791.     /* [in] */ LPCWSTR Usage,
  3792.     /* [out] */ PCRYPT_DATA_BLOB pPkcs10Blob);
  3793.  
  3794.  
  3795. void __RPC_STUB IEnroll_createPKCS10WStr_Stub(
  3796.     IRpcStubBuffer *This,
  3797.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3798.     PRPC_MESSAGE _pRpcMessage,
  3799.     DWORD *_pdwStubPhase);
  3800.  
  3801.  
  3802. HRESULT STDMETHODCALLTYPE IEnroll_acceptPKCS7Blob_Proxy( 
  3803.     IEnroll __RPC_FAR * This,
  3804.     /* [in] */ PCRYPT_DATA_BLOB pBlobPKCS7);
  3805.  
  3806.  
  3807. void __RPC_STUB IEnroll_acceptPKCS7Blob_Stub(
  3808.     IRpcStubBuffer *This,
  3809.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3810.     PRPC_MESSAGE _pRpcMessage,
  3811.     DWORD *_pdwStubPhase);
  3812.  
  3813.  
  3814. PCCERT_CONTEXT STDMETHODCALLTYPE IEnroll_getCertContextFromPKCS7_Proxy( 
  3815.     IEnroll __RPC_FAR * This,
  3816.     /* [in] */ PCRYPT_DATA_BLOB pBlobPKCS7);
  3817.  
  3818.  
  3819. void __RPC_STUB IEnroll_getCertContextFromPKCS7_Stub(
  3820.     IRpcStubBuffer *This,
  3821.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3822.     PRPC_MESSAGE _pRpcMessage,
  3823.     DWORD *_pdwStubPhase);
  3824.  
  3825.  
  3826. HCERTSTORE STDMETHODCALLTYPE IEnroll_getMyStore_Proxy( 
  3827.     IEnroll __RPC_FAR * This);
  3828.  
  3829.  
  3830. void __RPC_STUB IEnroll_getMyStore_Stub(
  3831.     IRpcStubBuffer *This,
  3832.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3833.     PRPC_MESSAGE _pRpcMessage,
  3834.     DWORD *_pdwStubPhase);
  3835.  
  3836.  
  3837. HCERTSTORE STDMETHODCALLTYPE IEnroll_getCAStore_Proxy( 
  3838.     IEnroll __RPC_FAR * This);
  3839.  
  3840.  
  3841. void __RPC_STUB IEnroll_getCAStore_Stub(
  3842.     IRpcStubBuffer *This,
  3843.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3844.     PRPC_MESSAGE _pRpcMessage,
  3845.     DWORD *_pdwStubPhase);
  3846.  
  3847.  
  3848. HCERTSTORE STDMETHODCALLTYPE IEnroll_getROOTHStore_Proxy( 
  3849.     IEnroll __RPC_FAR * This);
  3850.  
  3851.  
  3852. void __RPC_STUB IEnroll_getROOTHStore_Stub(
  3853.     IRpcStubBuffer *This,
  3854.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3855.     PRPC_MESSAGE _pRpcMessage,
  3856.     DWORD *_pdwStubPhase);
  3857.  
  3858.  
  3859. HRESULT STDMETHODCALLTYPE IEnroll_enumProvidersWStr_Proxy( 
  3860.     IEnroll __RPC_FAR * This,
  3861.     /* [in] */ DWORD dwIndex,
  3862.     /* [in] */ DWORD dwFlags,
  3863.     /* [out] */ LPWSTR __RPC_FAR *pbstrProvName);
  3864.  
  3865.  
  3866. void __RPC_STUB IEnroll_enumProvidersWStr_Stub(
  3867.     IRpcStubBuffer *This,
  3868.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3869.     PRPC_MESSAGE _pRpcMessage,
  3870.     DWORD *_pdwStubPhase);
  3871.  
  3872.  
  3873. HRESULT STDMETHODCALLTYPE IEnroll_enumContainersWStr_Proxy( 
  3874.     IEnroll __RPC_FAR * This,
  3875.     /* [in] */ DWORD dwIndex,
  3876.     /* [out] */ LPWSTR __RPC_FAR *pbstr);
  3877.  
  3878.  
  3879. void __RPC_STUB IEnroll_enumContainersWStr_Stub(
  3880.     IRpcStubBuffer *This,
  3881.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3882.     PRPC_MESSAGE _pRpcMessage,
  3883.     DWORD *_pdwStubPhase);
  3884.  
  3885.  
  3886. HRESULT STDMETHODCALLTYPE IEnroll_freeRequestInfoBlob_Proxy( 
  3887.     IEnroll __RPC_FAR * This,
  3888.     /* [in] */ CRYPT_DATA_BLOB pkcs7OrPkcs10);
  3889.  
  3890.  
  3891. void __RPC_STUB IEnroll_freeRequestInfoBlob_Stub(
  3892.     IRpcStubBuffer *This,
  3893.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3894.     PRPC_MESSAGE _pRpcMessage,
  3895.     DWORD *_pdwStubPhase);
  3896.  
  3897.  
  3898. /* [propget] */ HRESULT STDMETHODCALLTYPE IEnroll_get_MyStoreNameWStr_Proxy( 
  3899.     IEnroll __RPC_FAR * This,
  3900.     /* [out] */ LPWSTR __RPC_FAR *szwName);
  3901.  
  3902.  
  3903. void __RPC_STUB IEnroll_get_MyStoreNameWStr_Stub(
  3904.     IRpcStubBuffer *This,
  3905.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3906.     PRPC_MESSAGE _pRpcMessage,
  3907.     DWORD *_pdwStubPhase);
  3908.  
  3909.  
  3910. /* [propput] */ HRESULT STDMETHODCALLTYPE IEnroll_put_MyStoreNameWStr_Proxy( 
  3911.     IEnroll __RPC_FAR * This,
  3912.     /* [in] */ LPWSTR szwName);
  3913.  
  3914.  
  3915. void __RPC_STUB IEnroll_put_MyStoreNameWStr_Stub(
  3916.     IRpcStubBuffer *This,
  3917.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3918.     PRPC_MESSAGE _pRpcMessage,
  3919.     DWORD *_pdwStubPhase);
  3920.  
  3921.  
  3922. /* [propget] */ HRESULT STDMETHODCALLTYPE IEnroll_get_MyStoreTypeWStr_Proxy( 
  3923.     IEnroll __RPC_FAR * This,
  3924.     /* [out] */ LPWSTR __RPC_FAR *szwType);
  3925.  
  3926.  
  3927. void __RPC_STUB IEnroll_get_MyStoreTypeWStr_Stub(
  3928.     IRpcStubBuffer *This,
  3929.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3930.     PRPC_MESSAGE _pRpcMessage,
  3931.     DWORD *_pdwStubPhase);
  3932.  
  3933.  
  3934. /* [propput] */ HRESULT STDMETHODCALLTYPE IEnroll_put_MyStoreTypeWStr_Proxy( 
  3935.     IEnroll __RPC_FAR * This,
  3936.     /* [in] */ LPWSTR szwType);
  3937.  
  3938.  
  3939. void __RPC_STUB IEnroll_put_MyStoreTypeWStr_Stub(
  3940.     IRpcStubBuffer *This,
  3941.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3942.     PRPC_MESSAGE _pRpcMessage,
  3943.     DWORD *_pdwStubPhase);
  3944.  
  3945.  
  3946. /* [propget] */ HRESULT STDMETHODCALLTYPE IEnroll_get_MyStoreFlags_Proxy( 
  3947.     IEnroll __RPC_FAR * This,
  3948.     /* [out] */ DWORD __RPC_FAR *pdwFlags);
  3949.  
  3950.  
  3951. void __RPC_STUB IEnroll_get_MyStoreFlags_Stub(
  3952.     IRpcStubBuffer *This,
  3953.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3954.     PRPC_MESSAGE _pRpcMessage,
  3955.     DWORD *_pdwStubPhase);
  3956.  
  3957.  
  3958. /* [propput] */ HRESULT STDMETHODCALLTYPE IEnroll_put_MyStoreFlags_Proxy( 
  3959.     IEnroll __RPC_FAR * This,
  3960.     /* [in] */ DWORD dwFlags);
  3961.  
  3962.  
  3963. void __RPC_STUB IEnroll_put_MyStoreFlags_Stub(
  3964.     IRpcStubBuffer *This,
  3965.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3966.     PRPC_MESSAGE _pRpcMessage,
  3967.     DWORD *_pdwStubPhase);
  3968.  
  3969.  
  3970. /* [propget] */ HRESULT STDMETHODCALLTYPE IEnroll_get_CAStoreNameWStr_Proxy( 
  3971.     IEnroll __RPC_FAR * This,
  3972.     /* [out] */ LPWSTR __RPC_FAR *szwName);
  3973.  
  3974.  
  3975. void __RPC_STUB IEnroll_get_CAStoreNameWStr_Stub(
  3976.     IRpcStubBuffer *This,
  3977.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3978.     PRPC_MESSAGE _pRpcMessage,
  3979.     DWORD *_pdwStubPhase);
  3980.  
  3981.  
  3982. /* [propput] */ HRESULT STDMETHODCALLTYPE IEnroll_put_CAStoreNameWStr_Proxy( 
  3983.     IEnroll __RPC_FAR * This,
  3984.     /* [in] */ LPWSTR szwName);
  3985.  
  3986.  
  3987. void __RPC_STUB IEnroll_put_CAStoreNameWStr_Stub(
  3988.     IRpcStubBuffer *This,
  3989.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3990.     PRPC_MESSAGE _pRpcMessage,
  3991.     DWORD *_pdwStubPhase);
  3992.  
  3993.  
  3994. /* [propget] */ HRESULT STDMETHODCALLTYPE IEnroll_get_CAStoreTypeWStr_Proxy( 
  3995.     IEnroll __RPC_FAR * This,
  3996.     /* [out] */ LPWSTR __RPC_FAR *szwType);
  3997.  
  3998.  
  3999. void __RPC_STUB IEnroll_get_CAStoreTypeWStr_Stub(
  4000.     IRpcStubBuffer *This,
  4001.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4002.     PRPC_MESSAGE _pRpcMessage,
  4003.     DWORD *_pdwStubPhase);
  4004.  
  4005.  
  4006. /* [propput] */ HRESULT STDMETHODCALLTYPE IEnroll_put_CAStoreTypeWStr_Proxy( 
  4007.     IEnroll __RPC_FAR * This,
  4008.     /* [in] */ LPWSTR szwType);
  4009.  
  4010.  
  4011. void __RPC_STUB IEnroll_put_CAStoreTypeWStr_Stub(
  4012.     IRpcStubBuffer *This,
  4013.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4014.     PRPC_MESSAGE _pRpcMessage,
  4015.     DWORD *_pdwStubPhase);
  4016.  
  4017.  
  4018. /* [propget] */ HRESULT STDMETHODCALLTYPE IEnroll_get_CAStoreFlags_Proxy( 
  4019.     IEnroll __RPC_FAR * This,
  4020.     /* [out] */ DWORD __RPC_FAR *pdwFlags);
  4021.  
  4022.  
  4023. void __RPC_STUB IEnroll_get_CAStoreFlags_Stub(
  4024.     IRpcStubBuffer *This,
  4025.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4026.     PRPC_MESSAGE _pRpcMessage,
  4027.     DWORD *_pdwStubPhase);
  4028.  
  4029.  
  4030. /* [propput] */ HRESULT STDMETHODCALLTYPE IEnroll_put_CAStoreFlags_Proxy( 
  4031.     IEnroll __RPC_FAR * This,
  4032.     /* [in] */ DWORD dwFlags);
  4033.  
  4034.  
  4035. void __RPC_STUB IEnroll_put_CAStoreFlags_Stub(
  4036.     IRpcStubBuffer *This,
  4037.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4038.     PRPC_MESSAGE _pRpcMessage,
  4039.     DWORD *_pdwStubPhase);
  4040.  
  4041.  
  4042. /* [propget] */ HRESULT STDMETHODCALLTYPE IEnroll_get_RootStoreNameWStr_Proxy( 
  4043.     IEnroll __RPC_FAR * This,
  4044.     /* [out] */ LPWSTR __RPC_FAR *szwName);
  4045.  
  4046.  
  4047. void __RPC_STUB IEnroll_get_RootStoreNameWStr_Stub(
  4048.     IRpcStubBuffer *This,
  4049.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4050.     PRPC_MESSAGE _pRpcMessage,
  4051.     DWORD *_pdwStubPhase);
  4052.  
  4053.  
  4054. /* [propput] */ HRESULT STDMETHODCALLTYPE IEnroll_put_RootStoreNameWStr_Proxy( 
  4055.     IEnroll __RPC_FAR * This,
  4056.     /* [in] */ LPWSTR szwName);
  4057.  
  4058.  
  4059. void __RPC_STUB IEnroll_put_RootStoreNameWStr_Stub(
  4060.     IRpcStubBuffer *This,
  4061.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4062.     PRPC_MESSAGE _pRpcMessage,
  4063.     DWORD *_pdwStubPhase);
  4064.  
  4065.  
  4066. /* [propget] */ HRESULT STDMETHODCALLTYPE IEnroll_get_RootStoreTypeWStr_Proxy( 
  4067.     IEnroll __RPC_FAR * This,
  4068.     /* [out] */ LPWSTR __RPC_FAR *szwType);
  4069.  
  4070.  
  4071. void __RPC_STUB IEnroll_get_RootStoreTypeWStr_Stub(
  4072.     IRpcStubBuffer *This,
  4073.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4074.     PRPC_MESSAGE _pRpcMessage,
  4075.     DWORD *_pdwStubPhase);
  4076.  
  4077.  
  4078. /* [propput] */ HRESULT STDMETHODCALLTYPE IEnroll_put_RootStoreTypeWStr_Proxy( 
  4079.     IEnroll __RPC_FAR * This,
  4080.     /* [in] */ LPWSTR szwType);
  4081.  
  4082.  
  4083. void __RPC_STUB IEnroll_put_RootStoreTypeWStr_Stub(
  4084.     IRpcStubBuffer *This,
  4085.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4086.     PRPC_MESSAGE _pRpcMessage,
  4087.     DWORD *_pdwStubPhase);
  4088.  
  4089.  
  4090. /* [propget] */ HRESULT STDMETHODCALLTYPE IEnroll_get_RootStoreFlags_Proxy( 
  4091.     IEnroll __RPC_FAR * This,
  4092.     /* [out] */ DWORD __RPC_FAR *pdwFlags);
  4093.  
  4094.  
  4095. void __RPC_STUB IEnroll_get_RootStoreFlags_Stub(
  4096.     IRpcStubBuffer *This,
  4097.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4098.     PRPC_MESSAGE _pRpcMessage,
  4099.     DWORD *_pdwStubPhase);
  4100.  
  4101.  
  4102. /* [propput] */ HRESULT STDMETHODCALLTYPE IEnroll_put_RootStoreFlags_Proxy( 
  4103.     IEnroll __RPC_FAR * This,
  4104.     /* [in] */ DWORD dwFlags);
  4105.  
  4106.  
  4107. void __RPC_STUB IEnroll_put_RootStoreFlags_Stub(
  4108.     IRpcStubBuffer *This,
  4109.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4110.     PRPC_MESSAGE _pRpcMessage,
  4111.     DWORD *_pdwStubPhase);
  4112.  
  4113.  
  4114. /* [propget] */ HRESULT STDMETHODCALLTYPE IEnroll_get_RequestStoreNameWStr_Proxy( 
  4115.     IEnroll __RPC_FAR * This,
  4116.     /* [out] */ LPWSTR __RPC_FAR *szwName);
  4117.  
  4118.  
  4119. void __RPC_STUB IEnroll_get_RequestStoreNameWStr_Stub(
  4120.     IRpcStubBuffer *This,
  4121.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4122.     PRPC_MESSAGE _pRpcMessage,
  4123.     DWORD *_pdwStubPhase);
  4124.  
  4125.  
  4126. /* [propput] */ HRESULT STDMETHODCALLTYPE IEnroll_put_RequestStoreNameWStr_Proxy( 
  4127.     IEnroll __RPC_FAR * This,
  4128.     /* [in] */ LPWSTR szwName);
  4129.  
  4130.  
  4131. void __RPC_STUB IEnroll_put_RequestStoreNameWStr_Stub(
  4132.     IRpcStubBuffer *This,
  4133.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4134.     PRPC_MESSAGE _pRpcMessage,
  4135.     DWORD *_pdwStubPhase);
  4136.  
  4137.  
  4138. /* [propget] */ HRESULT STDMETHODCALLTYPE IEnroll_get_RequestStoreTypeWStr_Proxy( 
  4139.     IEnroll __RPC_FAR * This,
  4140.     /* [out] */ LPWSTR __RPC_FAR *szwType);
  4141.  
  4142.  
  4143. void __RPC_STUB IEnroll_get_RequestStoreTypeWStr_Stub(
  4144.     IRpcStubBuffer *This,
  4145.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4146.     PRPC_MESSAGE _pRpcMessage,
  4147.     DWORD *_pdwStubPhase);
  4148.  
  4149.  
  4150. /* [propput] */ HRESULT STDMETHODCALLTYPE IEnroll_put_RequestStoreTypeWStr_Proxy( 
  4151.     IEnroll __RPC_FAR * This,
  4152.     /* [in] */ LPWSTR szwType);
  4153.  
  4154.  
  4155. void __RPC_STUB IEnroll_put_RequestStoreTypeWStr_Stub(
  4156.     IRpcStubBuffer *This,
  4157.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4158.     PRPC_MESSAGE _pRpcMessage,
  4159.     DWORD *_pdwStubPhase);
  4160.  
  4161.  
  4162. /* [propget] */ HRESULT STDMETHODCALLTYPE IEnroll_get_RequestStoreFlags_Proxy( 
  4163.     IEnroll __RPC_FAR * This,
  4164.     /* [out] */ DWORD __RPC_FAR *pdwFlags);
  4165.  
  4166.  
  4167. void __RPC_STUB IEnroll_get_RequestStoreFlags_Stub(
  4168.     IRpcStubBuffer *This,
  4169.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4170.     PRPC_MESSAGE _pRpcMessage,
  4171.     DWORD *_pdwStubPhase);
  4172.  
  4173.  
  4174. /* [propput] */ HRESULT STDMETHODCALLTYPE IEnroll_put_RequestStoreFlags_Proxy( 
  4175.     IEnroll __RPC_FAR * This,
  4176.     /* [in] */ DWORD dwFlags);
  4177.  
  4178.  
  4179. void __RPC_STUB IEnroll_put_RequestStoreFlags_Stub(
  4180.     IRpcStubBuffer *This,
  4181.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4182.     PRPC_MESSAGE _pRpcMessage,
  4183.     DWORD *_pdwStubPhase);
  4184.  
  4185.  
  4186. /* [propget] */ HRESULT STDMETHODCALLTYPE IEnroll_get_ContainerNameWStr_Proxy( 
  4187.     IEnroll __RPC_FAR * This,
  4188.     /* [out] */ LPWSTR __RPC_FAR *szwContainer);
  4189.  
  4190.  
  4191. void __RPC_STUB IEnroll_get_ContainerNameWStr_Stub(
  4192.     IRpcStubBuffer *This,
  4193.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4194.     PRPC_MESSAGE _pRpcMessage,
  4195.     DWORD *_pdwStubPhase);
  4196.  
  4197.  
  4198. /* [propput] */ HRESULT STDMETHODCALLTYPE IEnroll_put_ContainerNameWStr_Proxy( 
  4199.     IEnroll __RPC_FAR * This,
  4200.     /* [in] */ LPWSTR szwContainer);
  4201.  
  4202.  
  4203. void __RPC_STUB IEnroll_put_ContainerNameWStr_Stub(
  4204.     IRpcStubBuffer *This,
  4205.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4206.     PRPC_MESSAGE _pRpcMessage,
  4207.     DWORD *_pdwStubPhase);
  4208.  
  4209.  
  4210. /* [propget] */ HRESULT STDMETHODCALLTYPE IEnroll_get_ProviderNameWStr_Proxy( 
  4211.     IEnroll __RPC_FAR * This,
  4212.     /* [out] */ LPWSTR __RPC_FAR *szwProvider);
  4213.  
  4214.  
  4215. void __RPC_STUB IEnroll_get_ProviderNameWStr_Stub(
  4216.     IRpcStubBuffer *This,
  4217.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4218.     PRPC_MESSAGE _pRpcMessage,
  4219.     DWORD *_pdwStubPhase);
  4220.  
  4221.  
  4222. /* [propput] */ HRESULT STDMETHODCALLTYPE IEnroll_put_ProviderNameWStr_Proxy( 
  4223.     IEnroll __RPC_FAR * This,
  4224.     /* [in] */ LPWSTR szwProvider);
  4225.  
  4226.  
  4227. void __RPC_STUB IEnroll_put_ProviderNameWStr_Stub(
  4228.     IRpcStubBuffer *This,
  4229.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4230.     PRPC_MESSAGE _pRpcMessage,
  4231.     DWORD *_pdwStubPhase);
  4232.  
  4233.  
  4234. /* [propget] */ HRESULT STDMETHODCALLTYPE IEnroll_get_ProviderType_Proxy( 
  4235.     IEnroll __RPC_FAR * This,
  4236.     /* [out] */ DWORD __RPC_FAR *pdwType);
  4237.  
  4238.  
  4239. void __RPC_STUB IEnroll_get_ProviderType_Stub(
  4240.     IRpcStubBuffer *This,
  4241.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4242.     PRPC_MESSAGE _pRpcMessage,
  4243.     DWORD *_pdwStubPhase);
  4244.  
  4245.  
  4246. /* [propput] */ HRESULT STDMETHODCALLTYPE IEnroll_put_ProviderType_Proxy( 
  4247.     IEnroll __RPC_FAR * This,
  4248.     /* [in] */ DWORD dwType);
  4249.  
  4250.  
  4251. void __RPC_STUB IEnroll_put_ProviderType_Stub(
  4252.     IRpcStubBuffer *This,
  4253.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4254.     PRPC_MESSAGE _pRpcMessage,
  4255.     DWORD *_pdwStubPhase);
  4256.  
  4257.  
  4258. /* [propget] */ HRESULT STDMETHODCALLTYPE IEnroll_get_KeySpec_Proxy( 
  4259.     IEnroll __RPC_FAR * This,
  4260.     /* [out] */ DWORD __RPC_FAR *pdw);
  4261.  
  4262.  
  4263. void __RPC_STUB IEnroll_get_KeySpec_Stub(
  4264.     IRpcStubBuffer *This,
  4265.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4266.     PRPC_MESSAGE _pRpcMessage,
  4267.     DWORD *_pdwStubPhase);
  4268.  
  4269.  
  4270. /* [propput] */ HRESULT STDMETHODCALLTYPE IEnroll_put_KeySpec_Proxy( 
  4271.     IEnroll __RPC_FAR * This,
  4272.     /* [in] */ DWORD dw);
  4273.  
  4274.  
  4275. void __RPC_STUB IEnroll_put_KeySpec_Stub(
  4276.     IRpcStubBuffer *This,
  4277.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4278.     PRPC_MESSAGE _pRpcMessage,
  4279.     DWORD *_pdwStubPhase);
  4280.  
  4281.  
  4282. /* [propget] */ HRESULT STDMETHODCALLTYPE IEnroll_get_ProviderFlags_Proxy( 
  4283.     IEnroll __RPC_FAR * This,
  4284.     /* [out] */ DWORD __RPC_FAR *pdwFlags);
  4285.  
  4286.  
  4287. void __RPC_STUB IEnroll_get_ProviderFlags_Stub(
  4288.     IRpcStubBuffer *This,
  4289.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4290.     PRPC_MESSAGE _pRpcMessage,
  4291.     DWORD *_pdwStubPhase);
  4292.  
  4293.  
  4294. /* [propput] */ HRESULT STDMETHODCALLTYPE IEnroll_put_ProviderFlags_Proxy( 
  4295.     IEnroll __RPC_FAR * This,
  4296.     /* [in] */ DWORD dwFlags);
  4297.  
  4298.  
  4299. void __RPC_STUB IEnroll_put_ProviderFlags_Stub(
  4300.     IRpcStubBuffer *This,
  4301.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4302.     PRPC_MESSAGE _pRpcMessage,
  4303.     DWORD *_pdwStubPhase);
  4304.  
  4305.  
  4306. /* [propget] */ HRESULT STDMETHODCALLTYPE IEnroll_get_UseExistingKeySet_Proxy( 
  4307.     IEnroll __RPC_FAR * This,
  4308.     /* [out] */ BOOL __RPC_FAR *fUseExistingKeys);
  4309.  
  4310.  
  4311. void __RPC_STUB IEnroll_get_UseExistingKeySet_Stub(
  4312.     IRpcStubBuffer *This,
  4313.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4314.     PRPC_MESSAGE _pRpcMessage,
  4315.     DWORD *_pdwStubPhase);
  4316.  
  4317.  
  4318. /* [propput] */ HRESULT STDMETHODCALLTYPE IEnroll_put_UseExistingKeySet_Proxy( 
  4319.     IEnroll __RPC_FAR * This,
  4320.     /* [in] */ BOOL fUseExistingKeys);
  4321.  
  4322.  
  4323. void __RPC_STUB IEnroll_put_UseExistingKeySet_Stub(
  4324.     IRpcStubBuffer *This,
  4325.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4326.     PRPC_MESSAGE _pRpcMessage,
  4327.     DWORD *_pdwStubPhase);
  4328.  
  4329.  
  4330. /* [propget] */ HRESULT STDMETHODCALLTYPE IEnroll_get_GenKeyFlags_Proxy( 
  4331.     IEnroll __RPC_FAR * This,
  4332.     /* [out] */ DWORD __RPC_FAR *pdwFlags);
  4333.  
  4334.  
  4335. void __RPC_STUB IEnroll_get_GenKeyFlags_Stub(
  4336.     IRpcStubBuffer *This,
  4337.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4338.     PRPC_MESSAGE _pRpcMessage,
  4339.     DWORD *_pdwStubPhase);
  4340.  
  4341.  
  4342. /* [propput] */ HRESULT STDMETHODCALLTYPE IEnroll_put_GenKeyFlags_Proxy( 
  4343.     IEnroll __RPC_FAR * This,
  4344.     /* [in] */ DWORD dwFlags);
  4345.  
  4346.  
  4347. void __RPC_STUB IEnroll_put_GenKeyFlags_Stub(
  4348.     IRpcStubBuffer *This,
  4349.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4350.     PRPC_MESSAGE _pRpcMessage,
  4351.     DWORD *_pdwStubPhase);
  4352.  
  4353.  
  4354. /* [propget] */ HRESULT STDMETHODCALLTYPE IEnroll_get_DeleteRequestCert_Proxy( 
  4355.     IEnroll __RPC_FAR * This,
  4356.     /* [out] */ BOOL __RPC_FAR *fDelete);
  4357.  
  4358.  
  4359. void __RPC_STUB IEnroll_get_DeleteRequestCert_Stub(
  4360.     IRpcStubBuffer *This,
  4361.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4362.     PRPC_MESSAGE _pRpcMessage,
  4363.     DWORD *_pdwStubPhase);
  4364.  
  4365.  
  4366. /* [propput] */ HRESULT STDMETHODCALLTYPE IEnroll_put_DeleteRequestCert_Proxy( 
  4367.     IEnroll __RPC_FAR * This,
  4368.     /* [in] */ BOOL fDelete);
  4369.  
  4370.  
  4371. void __RPC_STUB IEnroll_put_DeleteRequestCert_Stub(
  4372.     IRpcStubBuffer *This,
  4373.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4374.     PRPC_MESSAGE _pRpcMessage,
  4375.     DWORD *_pdwStubPhase);
  4376.  
  4377.  
  4378. /* [propget] */ HRESULT STDMETHODCALLTYPE IEnroll_get_WriteCertToUserDS_Proxy( 
  4379.     IEnroll __RPC_FAR * This,
  4380.     /* [out] */ BOOL __RPC_FAR *fBool);
  4381.  
  4382.  
  4383. void __RPC_STUB IEnroll_get_WriteCertToUserDS_Stub(
  4384.     IRpcStubBuffer *This,
  4385.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4386.     PRPC_MESSAGE _pRpcMessage,
  4387.     DWORD *_pdwStubPhase);
  4388.  
  4389.  
  4390. /* [propput] */ HRESULT STDMETHODCALLTYPE IEnroll_put_WriteCertToUserDS_Proxy( 
  4391.     IEnroll __RPC_FAR * This,
  4392.     /* [in] */ BOOL fBool);
  4393.  
  4394.  
  4395. void __RPC_STUB IEnroll_put_WriteCertToUserDS_Stub(
  4396.     IRpcStubBuffer *This,
  4397.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4398.     PRPC_MESSAGE _pRpcMessage,
  4399.     DWORD *_pdwStubPhase);
  4400.  
  4401.  
  4402. /* [propget] */ HRESULT STDMETHODCALLTYPE IEnroll_get_EnableT61DNEncoding_Proxy( 
  4403.     IEnroll __RPC_FAR * This,
  4404.     /* [out] */ BOOL __RPC_FAR *fBool);
  4405.  
  4406.  
  4407. void __RPC_STUB IEnroll_get_EnableT61DNEncoding_Stub(
  4408.     IRpcStubBuffer *This,
  4409.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4410.     PRPC_MESSAGE _pRpcMessage,
  4411.     DWORD *_pdwStubPhase);
  4412.  
  4413.  
  4414. /* [propput] */ HRESULT STDMETHODCALLTYPE IEnroll_put_EnableT61DNEncoding_Proxy( 
  4415.     IEnroll __RPC_FAR * This,
  4416.     /* [in] */ BOOL fBool);
  4417.  
  4418.  
  4419. void __RPC_STUB IEnroll_put_EnableT61DNEncoding_Stub(
  4420.     IRpcStubBuffer *This,
  4421.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4422.     PRPC_MESSAGE _pRpcMessage,
  4423.     DWORD *_pdwStubPhase);
  4424.  
  4425.  
  4426. /* [propget] */ HRESULT STDMETHODCALLTYPE IEnroll_get_WriteCertToCSP_Proxy( 
  4427.     IEnroll __RPC_FAR * This,
  4428.     /* [out] */ BOOL __RPC_FAR *fBool);
  4429.  
  4430.  
  4431. void __RPC_STUB IEnroll_get_WriteCertToCSP_Stub(
  4432.     IRpcStubBuffer *This,
  4433.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4434.     PRPC_MESSAGE _pRpcMessage,
  4435.     DWORD *_pdwStubPhase);
  4436.  
  4437.  
  4438. /* [propput] */ HRESULT STDMETHODCALLTYPE IEnroll_put_WriteCertToCSP_Proxy( 
  4439.     IEnroll __RPC_FAR * This,
  4440.     /* [in] */ BOOL fBool);
  4441.  
  4442.  
  4443. void __RPC_STUB IEnroll_put_WriteCertToCSP_Stub(
  4444.     IRpcStubBuffer *This,
  4445.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4446.     PRPC_MESSAGE _pRpcMessage,
  4447.     DWORD *_pdwStubPhase);
  4448.  
  4449.  
  4450. /* [propget] */ HRESULT STDMETHODCALLTYPE IEnroll_get_SPCFileNameWStr_Proxy( 
  4451.     IEnroll __RPC_FAR * This,
  4452.     /* [out] */ LPWSTR __RPC_FAR *szw);
  4453.  
  4454.  
  4455. void __RPC_STUB IEnroll_get_SPCFileNameWStr_Stub(
  4456.     IRpcStubBuffer *This,
  4457.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4458.     PRPC_MESSAGE _pRpcMessage,
  4459.     DWORD *_pdwStubPhase);
  4460.  
  4461.  
  4462. /* [propput] */ HRESULT STDMETHODCALLTYPE IEnroll_put_SPCFileNameWStr_Proxy( 
  4463.     IEnroll __RPC_FAR * This,
  4464.     /* [in] */ LPWSTR szw);
  4465.  
  4466.  
  4467. void __RPC_STUB IEnroll_put_SPCFileNameWStr_Stub(
  4468.     IRpcStubBuffer *This,
  4469.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4470.     PRPC_MESSAGE _pRpcMessage,
  4471.     DWORD *_pdwStubPhase);
  4472.  
  4473.  
  4474. /* [propget] */ HRESULT STDMETHODCALLTYPE IEnroll_get_PVKFileNameWStr_Proxy( 
  4475.     IEnroll __RPC_FAR * This,
  4476.     /* [out] */ LPWSTR __RPC_FAR *szw);
  4477.  
  4478.  
  4479. void __RPC_STUB IEnroll_get_PVKFileNameWStr_Stub(
  4480.     IRpcStubBuffer *This,
  4481.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4482.     PRPC_MESSAGE _pRpcMessage,
  4483.     DWORD *_pdwStubPhase);
  4484.  
  4485.  
  4486. /* [propput] */ HRESULT STDMETHODCALLTYPE IEnroll_put_PVKFileNameWStr_Proxy( 
  4487.     IEnroll __RPC_FAR * This,
  4488.     /* [in] */ LPWSTR szw);
  4489.  
  4490.  
  4491. void __RPC_STUB IEnroll_put_PVKFileNameWStr_Stub(
  4492.     IRpcStubBuffer *This,
  4493.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4494.     PRPC_MESSAGE _pRpcMessage,
  4495.     DWORD *_pdwStubPhase);
  4496.  
  4497.  
  4498. /* [propget] */ HRESULT STDMETHODCALLTYPE IEnroll_get_HashAlgorithmWStr_Proxy( 
  4499.     IEnroll __RPC_FAR * This,
  4500.     /* [out] */ LPWSTR __RPC_FAR *szw);
  4501.  
  4502.  
  4503. void __RPC_STUB IEnroll_get_HashAlgorithmWStr_Stub(
  4504.     IRpcStubBuffer *This,
  4505.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4506.     PRPC_MESSAGE _pRpcMessage,
  4507.     DWORD *_pdwStubPhase);
  4508.  
  4509.  
  4510. /* [propput] */ HRESULT STDMETHODCALLTYPE IEnroll_put_HashAlgorithmWStr_Proxy( 
  4511.     IEnroll __RPC_FAR * This,
  4512.     /* [in] */ LPWSTR szw);
  4513.  
  4514.  
  4515. void __RPC_STUB IEnroll_put_HashAlgorithmWStr_Stub(
  4516.     IRpcStubBuffer *This,
  4517.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4518.     PRPC_MESSAGE _pRpcMessage,
  4519.     DWORD *_pdwStubPhase);
  4520.  
  4521.  
  4522. /* [propget] */ HRESULT STDMETHODCALLTYPE IEnroll_get_RenewalCertificate_Proxy( 
  4523.     IEnroll __RPC_FAR * This,
  4524.     /* [out] */ PCCERT_CONTEXT __RPC_FAR *ppCertContext);
  4525.  
  4526.  
  4527. void __RPC_STUB IEnroll_get_RenewalCertificate_Stub(
  4528.     IRpcStubBuffer *This,
  4529.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4530.     PRPC_MESSAGE _pRpcMessage,
  4531.     DWORD *_pdwStubPhase);
  4532.  
  4533.  
  4534. /* [propput] */ HRESULT STDMETHODCALLTYPE IEnroll_put_RenewalCertificate_Proxy( 
  4535.     IEnroll __RPC_FAR * This,
  4536.     /* [in] */ PCCERT_CONTEXT pCertContext);
  4537.  
  4538.  
  4539. void __RPC_STUB IEnroll_put_RenewalCertificate_Stub(
  4540.     IRpcStubBuffer *This,
  4541.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4542.     PRPC_MESSAGE _pRpcMessage,
  4543.     DWORD *_pdwStubPhase);
  4544.  
  4545.  
  4546. HRESULT STDMETHODCALLTYPE IEnroll_AddCertTypeToRequestWStr_Proxy( 
  4547.     IEnroll __RPC_FAR * This,
  4548.     /* [in] */ LPWSTR szw);
  4549.  
  4550.  
  4551. void __RPC_STUB IEnroll_AddCertTypeToRequestWStr_Stub(
  4552.     IRpcStubBuffer *This,
  4553.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4554.     PRPC_MESSAGE _pRpcMessage,
  4555.     DWORD *_pdwStubPhase);
  4556.  
  4557.  
  4558. HRESULT STDMETHODCALLTYPE IEnroll_AddNameValuePairToSignatureWStr_Proxy( 
  4559.     IEnroll __RPC_FAR * This,
  4560.     /* [in] */ LPWSTR Name,
  4561.     /* [in] */ LPWSTR Value);
  4562.  
  4563.  
  4564. void __RPC_STUB IEnroll_AddNameValuePairToSignatureWStr_Stub(
  4565.     IRpcStubBuffer *This,
  4566.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4567.     PRPC_MESSAGE _pRpcMessage,
  4568.     DWORD *_pdwStubPhase);
  4569.  
  4570.  
  4571. HRESULT STDMETHODCALLTYPE IEnroll_AddExtensionsToRequest_Proxy( 
  4572.     IEnroll __RPC_FAR * This,
  4573.     /* [in] */ PCERT_EXTENSIONS pCertExtensions);
  4574.  
  4575.  
  4576. void __RPC_STUB IEnroll_AddExtensionsToRequest_Stub(
  4577.     IRpcStubBuffer *This,
  4578.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4579.     PRPC_MESSAGE _pRpcMessage,
  4580.     DWORD *_pdwStubPhase);
  4581.  
  4582.  
  4583. HRESULT STDMETHODCALLTYPE IEnroll_AddAuthenticatedAttributesToPKCS7Request_Proxy( 
  4584.     IEnroll __RPC_FAR * This,
  4585.     /* [in] */ PCRYPT_ATTRIBUTES pAttributes);
  4586.  
  4587.  
  4588. void __RPC_STUB IEnroll_AddAuthenticatedAttributesToPKCS7Request_Stub(
  4589.     IRpcStubBuffer *This,
  4590.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4591.     PRPC_MESSAGE _pRpcMessage,
  4592.     DWORD *_pdwStubPhase);
  4593.  
  4594.  
  4595. HRESULT STDMETHODCALLTYPE IEnroll_CreatePKCS7RequestFromRequest_Proxy( 
  4596.     IEnroll __RPC_FAR * This,
  4597.     /* [in] */ PCRYPT_DATA_BLOB pRequest,
  4598.     /* [in] */ PCCERT_CONTEXT pSigningCertContext,
  4599.     /* [out] */ PCRYPT_DATA_BLOB pPkcs7Blob);
  4600.  
  4601.  
  4602. void __RPC_STUB IEnroll_CreatePKCS7RequestFromRequest_Stub(
  4603.     IRpcStubBuffer *This,
  4604.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4605.     PRPC_MESSAGE _pRpcMessage,
  4606.     DWORD *_pdwStubPhase);
  4607.  
  4608.  
  4609.  
  4610. #endif     /* __IEnroll_INTERFACE_DEFINED__ */
  4611.  
  4612.  
  4613. #ifndef __IEnroll2_INTERFACE_DEFINED__
  4614. #define __IEnroll2_INTERFACE_DEFINED__
  4615.  
  4616. /* interface IEnroll2 */
  4617. /* [unique][helpstring][local][uuid][object] */ 
  4618.  
  4619.  
  4620. EXTERN_C const IID IID_IEnroll2;
  4621.  
  4622. #if defined(__cplusplus) && !defined(CINTERFACE)
  4623.     
  4624.     MIDL_INTERFACE("c080e199-b7df-11d2-a421-00c04f79fe8e")
  4625.     IEnroll2 : public IEnroll
  4626.     {
  4627.     public:
  4628.         virtual HRESULT STDMETHODCALLTYPE InstallPKCS7Blob( 
  4629.             /* [in] */ PCRYPT_DATA_BLOB pBlobPKCS7) = 0;
  4630.         
  4631.         virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  4632.         
  4633.         virtual HRESULT STDMETHODCALLTYPE GetSupportedKeySpec( 
  4634.             /* [out] */ DWORD __RPC_FAR *pdwKeySpec) = 0;
  4635.         
  4636.         virtual HRESULT STDMETHODCALLTYPE GetKeyLen( 
  4637.             /* [in] */ BOOL fMin,
  4638.             /* [in] */ BOOL fExchange,
  4639.             /* [out] */ DWORD __RPC_FAR *pdwKeySize) = 0;
  4640.         
  4641.         virtual HRESULT STDMETHODCALLTYPE EnumAlgs( 
  4642.             /* [in] */ DWORD dwIndex,
  4643.             /* [in] */ DWORD algClass,
  4644.             /* [out] */ DWORD __RPC_FAR *pdwAlgID) = 0;
  4645.         
  4646.         virtual HRESULT STDMETHODCALLTYPE GetAlgNameWStr( 
  4647.             /* [in] */ DWORD algID,
  4648.             /* [out] */ LPWSTR __RPC_FAR *ppwsz) = 0;
  4649.         
  4650.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ReuseHardwareKeyIfUnableToGenNew( 
  4651.             /* [in] */ BOOL fReuseHardwareKeyIfUnableToGenNew) = 0;
  4652.         
  4653.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ReuseHardwareKeyIfUnableToGenNew( 
  4654.             /* [out] */ BOOL __RPC_FAR *fReuseHardwareKeyIfUnableToGenNew) = 0;
  4655.         
  4656.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_HashAlgID( 
  4657.             /* [in] */ DWORD hashAlgID) = 0;
  4658.         
  4659.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HashAlgID( 
  4660.             /* [retval][out] */ DWORD __RPC_FAR *hashAlgID) = 0;
  4661.         
  4662.         virtual HRESULT STDMETHODCALLTYPE SetHStoreMy( 
  4663.             /* [in] */ HCERTSTORE hStore) = 0;
  4664.         
  4665.         virtual HRESULT STDMETHODCALLTYPE SetHStoreCA( 
  4666.             /* [in] */ HCERTSTORE hStore) = 0;
  4667.         
  4668.         virtual HRESULT STDMETHODCALLTYPE SetHStoreROOT( 
  4669.             /* [in] */ HCERTSTORE hStore) = 0;
  4670.         
  4671.         virtual HRESULT STDMETHODCALLTYPE SetHStoreRequest( 
  4672.             /* [in] */ HCERTSTORE hStore) = 0;
  4673.         
  4674.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_LimitExchangeKeyToEncipherment( 
  4675.             /* [in] */ BOOL fLimitExchangeKeyToEncipherment) = 0;
  4676.         
  4677.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_LimitExchangeKeyToEncipherment( 
  4678.             /* [retval][out] */ BOOL __RPC_FAR *fLimitExchangeKeyToEncipherment) = 0;
  4679.         
  4680.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_EnableSMIMECapabilities( 
  4681.             /* [in] */ BOOL fEnableSMIMECapabilities) = 0;
  4682.         
  4683.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_EnableSMIMECapabilities( 
  4684.             /* [retval][out] */ BOOL __RPC_FAR *fEnableSMIMECapabilities) = 0;
  4685.         
  4686.     };
  4687.     
  4688. #else     /* C style interface */
  4689.  
  4690.     typedef struct IEnroll2Vtbl
  4691.     {
  4692.         BEGIN_INTERFACE
  4693.         
  4694.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  4695.             IEnroll2 __RPC_FAR * This,
  4696.             /* [in] */ REFIID riid,
  4697.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  4698.         
  4699.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  4700.             IEnroll2 __RPC_FAR * This);
  4701.         
  4702.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  4703.             IEnroll2 __RPC_FAR * This);
  4704.         
  4705.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *createFilePKCS10WStr )( 
  4706.             IEnroll2 __RPC_FAR * This,
  4707.             /* [in] */ LPCWSTR DNName,
  4708.             /* [in] */ LPCWSTR Usage,
  4709.             /* [in] */ LPCWSTR wszPKCS10FileName);
  4710.         
  4711.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *acceptFilePKCS7WStr )( 
  4712.             IEnroll2 __RPC_FAR * This,
  4713.             /* [in] */ LPCWSTR wszPKCS7FileName);
  4714.         
  4715.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *createPKCS10WStr )( 
  4716.             IEnroll2 __RPC_FAR * This,
  4717.             /* [in] */ LPCWSTR DNName,
  4718.             /* [in] */ LPCWSTR Usage,
  4719.             /* [out] */ PCRYPT_DATA_BLOB pPkcs10Blob);
  4720.         
  4721.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *acceptPKCS7Blob )( 
  4722.             IEnroll2 __RPC_FAR * This,
  4723.             /* [in] */ PCRYPT_DATA_BLOB pBlobPKCS7);
  4724.         
  4725.         PCCERT_CONTEXT ( STDMETHODCALLTYPE __RPC_FAR *getCertContextFromPKCS7 )( 
  4726.             IEnroll2 __RPC_FAR * This,
  4727.             /* [in] */ PCRYPT_DATA_BLOB pBlobPKCS7);
  4728.         
  4729.         HCERTSTORE ( STDMETHODCALLTYPE __RPC_FAR *getMyStore )( 
  4730.             IEnroll2 __RPC_FAR * This);
  4731.         
  4732.         HCERTSTORE ( STDMETHODCALLTYPE __RPC_FAR *getCAStore )( 
  4733.             IEnroll2 __RPC_FAR * This);
  4734.         
  4735.         HCERTSTORE ( STDMETHODCALLTYPE __RPC_FAR *getROOTHStore )( 
  4736.             IEnroll2 __RPC_FAR * This);
  4737.         
  4738.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *enumProvidersWStr )( 
  4739.             IEnroll2 __RPC_FAR * This,
  4740.             /* [in] */ DWORD dwIndex,
  4741.             /* [in] */ DWORD dwFlags,
  4742.             /* [out] */ LPWSTR __RPC_FAR *pbstrProvName);
  4743.         
  4744.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *enumContainersWStr )( 
  4745.             IEnroll2 __RPC_FAR * This,
  4746.             /* [in] */ DWORD dwIndex,
  4747.             /* [out] */ LPWSTR __RPC_FAR *pbstr);
  4748.         
  4749.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *freeRequestInfoBlob )( 
  4750.             IEnroll2 __RPC_FAR * This,
  4751.             /* [in] */ CRYPT_DATA_BLOB pkcs7OrPkcs10);
  4752.         
  4753.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_MyStoreNameWStr )( 
  4754.             IEnroll2 __RPC_FAR * This,
  4755.             /* [out] */ LPWSTR __RPC_FAR *szwName);
  4756.         
  4757.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_MyStoreNameWStr )( 
  4758.             IEnroll2 __RPC_FAR * This,
  4759.             /* [in] */ LPWSTR szwName);
  4760.         
  4761.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_MyStoreTypeWStr )( 
  4762.             IEnroll2 __RPC_FAR * This,
  4763.             /* [out] */ LPWSTR __RPC_FAR *szwType);
  4764.         
  4765.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_MyStoreTypeWStr )( 
  4766.             IEnroll2 __RPC_FAR * This,
  4767.             /* [in] */ LPWSTR szwType);
  4768.         
  4769.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_MyStoreFlags )( 
  4770.             IEnroll2 __RPC_FAR * This,
  4771.             /* [out] */ DWORD __RPC_FAR *pdwFlags);
  4772.         
  4773.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_MyStoreFlags )( 
  4774.             IEnroll2 __RPC_FAR * This,
  4775.             /* [in] */ DWORD dwFlags);
  4776.         
  4777.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CAStoreNameWStr )( 
  4778.             IEnroll2 __RPC_FAR * This,
  4779.             /* [out] */ LPWSTR __RPC_FAR *szwName);
  4780.         
  4781.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_CAStoreNameWStr )( 
  4782.             IEnroll2 __RPC_FAR * This,
  4783.             /* [in] */ LPWSTR szwName);
  4784.         
  4785.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CAStoreTypeWStr )( 
  4786.             IEnroll2 __RPC_FAR * This,
  4787.             /* [out] */ LPWSTR __RPC_FAR *szwType);
  4788.         
  4789.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_CAStoreTypeWStr )( 
  4790.             IEnroll2 __RPC_FAR * This,
  4791.             /* [in] */ LPWSTR szwType);
  4792.         
  4793.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CAStoreFlags )( 
  4794.             IEnroll2 __RPC_FAR * This,
  4795.             /* [out] */ DWORD __RPC_FAR *pdwFlags);
  4796.         
  4797.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_CAStoreFlags )( 
  4798.             IEnroll2 __RPC_FAR * This,
  4799.             /* [in] */ DWORD dwFlags);
  4800.         
  4801.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_RootStoreNameWStr )( 
  4802.             IEnroll2 __RPC_FAR * This,
  4803.             /* [out] */ LPWSTR __RPC_FAR *szwName);
  4804.         
  4805.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_RootStoreNameWStr )( 
  4806.             IEnroll2 __RPC_FAR * This,
  4807.             /* [in] */ LPWSTR szwName);
  4808.         
  4809.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_RootStoreTypeWStr )( 
  4810.             IEnroll2 __RPC_FAR * This,
  4811.             /* [out] */ LPWSTR __RPC_FAR *szwType);
  4812.         
  4813.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_RootStoreTypeWStr )( 
  4814.             IEnroll2 __RPC_FAR * This,
  4815.             /* [in] */ LPWSTR szwType);
  4816.         
  4817.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_RootStoreFlags )( 
  4818.             IEnroll2 __RPC_FAR * This,
  4819.             /* [out] */ DWORD __RPC_FAR *pdwFlags);
  4820.         
  4821.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_RootStoreFlags )( 
  4822.             IEnroll2 __RPC_FAR * This,
  4823.             /* [in] */ DWORD dwFlags);
  4824.         
  4825.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_RequestStoreNameWStr )( 
  4826.             IEnroll2 __RPC_FAR * This,
  4827.             /* [out] */ LPWSTR __RPC_FAR *szwName);
  4828.         
  4829.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_RequestStoreNameWStr )( 
  4830.             IEnroll2 __RPC_FAR * This,
  4831.             /* [in] */ LPWSTR szwName);
  4832.         
  4833.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_RequestStoreTypeWStr )( 
  4834.             IEnroll2 __RPC_FAR * This,
  4835.             /* [out] */ LPWSTR __RPC_FAR *szwType);
  4836.         
  4837.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_RequestStoreTypeWStr )( 
  4838.             IEnroll2 __RPC_FAR * This,
  4839.             /* [in] */ LPWSTR szwType);
  4840.         
  4841.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_RequestStoreFlags )( 
  4842.             IEnroll2 __RPC_FAR * This,
  4843.             /* [out] */ DWORD __RPC_FAR *pdwFlags);
  4844.         
  4845.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_RequestStoreFlags )( 
  4846.             IEnroll2 __RPC_FAR * This,
  4847.             /* [in] */ DWORD dwFlags);
  4848.         
  4849.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ContainerNameWStr )( 
  4850.             IEnroll2 __RPC_FAR * This,
  4851.             /* [out] */ LPWSTR __RPC_FAR *szwContainer);
  4852.         
  4853.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ContainerNameWStr )( 
  4854.             IEnroll2 __RPC_FAR * This,
  4855.             /* [in] */ LPWSTR szwContainer);
  4856.         
  4857.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ProviderNameWStr )( 
  4858.             IEnroll2 __RPC_FAR * This,
  4859.             /* [out] */ LPWSTR __RPC_FAR *szwProvider);
  4860.         
  4861.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ProviderNameWStr )( 
  4862.             IEnroll2 __RPC_FAR * This,
  4863.             /* [in] */ LPWSTR szwProvider);
  4864.         
  4865.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ProviderType )( 
  4866.             IEnroll2 __RPC_FAR * This,
  4867.             /* [out] */ DWORD __RPC_FAR *pdwType);
  4868.         
  4869.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ProviderType )( 
  4870.             IEnroll2 __RPC_FAR * This,
  4871.             /* [in] */ DWORD dwType);
  4872.         
  4873.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_KeySpec )( 
  4874.             IEnroll2 __RPC_FAR * This,
  4875.             /* [out] */ DWORD __RPC_FAR *pdw);
  4876.         
  4877.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_KeySpec )( 
  4878.             IEnroll2 __RPC_FAR * This,
  4879.             /* [in] */ DWORD dw);
  4880.         
  4881.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ProviderFlags )( 
  4882.             IEnroll2 __RPC_FAR * This,
  4883.             /* [out] */ DWORD __RPC_FAR *pdwFlags);
  4884.         
  4885.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ProviderFlags )( 
  4886.             IEnroll2 __RPC_FAR * This,
  4887.             /* [in] */ DWORD dwFlags);
  4888.         
  4889.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_UseExistingKeySet )( 
  4890.             IEnroll2 __RPC_FAR * This,
  4891.             /* [out] */ BOOL __RPC_FAR *fUseExistingKeys);
  4892.         
  4893.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_UseExistingKeySet )( 
  4894.             IEnroll2 __RPC_FAR * This,
  4895.             /* [in] */ BOOL fUseExistingKeys);
  4896.         
  4897.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_GenKeyFlags )( 
  4898.             IEnroll2 __RPC_FAR * This,
  4899.             /* [out] */ DWORD __RPC_FAR *pdwFlags);
  4900.         
  4901.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_GenKeyFlags )( 
  4902.             IEnroll2 __RPC_FAR * This,
  4903.             /* [in] */ DWORD dwFlags);
  4904.         
  4905.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DeleteRequestCert )( 
  4906.             IEnroll2 __RPC_FAR * This,
  4907.             /* [out] */ BOOL __RPC_FAR *fDelete);
  4908.         
  4909.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DeleteRequestCert )( 
  4910.             IEnroll2 __RPC_FAR * This,
  4911.             /* [in] */ BOOL fDelete);
  4912.         
  4913.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_WriteCertToUserDS )( 
  4914.             IEnroll2 __RPC_FAR * This,
  4915.             /* [out] */ BOOL __RPC_FAR *fBool);
  4916.         
  4917.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_WriteCertToUserDS )( 
  4918.             IEnroll2 __RPC_FAR * This,
  4919.             /* [in] */ BOOL fBool);
  4920.         
  4921.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EnableT61DNEncoding )( 
  4922.             IEnroll2 __RPC_FAR * This,
  4923.             /* [out] */ BOOL __RPC_FAR *fBool);
  4924.         
  4925.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_EnableT61DNEncoding )( 
  4926.             IEnroll2 __RPC_FAR * This,
  4927.             /* [in] */ BOOL fBool);
  4928.         
  4929.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_WriteCertToCSP )( 
  4930.             IEnroll2 __RPC_FAR * This,
  4931.             /* [out] */ BOOL __RPC_FAR *fBool);
  4932.         
  4933.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_WriteCertToCSP )( 
  4934.             IEnroll2 __RPC_FAR * This,
  4935.             /* [in] */ BOOL fBool);
  4936.         
  4937.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_SPCFileNameWStr )( 
  4938.             IEnroll2 __RPC_FAR * This,
  4939.             /* [out] */ LPWSTR __RPC_FAR *szw);
  4940.         
  4941.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_SPCFileNameWStr )( 
  4942.             IEnroll2 __RPC_FAR * This,
  4943.             /* [in] */ LPWSTR szw);
  4944.         
  4945.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_PVKFileNameWStr )( 
  4946.             IEnroll2 __RPC_FAR * This,
  4947.             /* [out] */ LPWSTR __RPC_FAR *szw);
  4948.         
  4949.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_PVKFileNameWStr )( 
  4950.             IEnroll2 __RPC_FAR * This,
  4951.             /* [in] */ LPWSTR szw);
  4952.         
  4953.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_HashAlgorithmWStr )( 
  4954.             IEnroll2 __RPC_FAR * This,
  4955.             /* [out] */ LPWSTR __RPC_FAR *szw);
  4956.         
  4957.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_HashAlgorithmWStr )( 
  4958.             IEnroll2 __RPC_FAR * This,
  4959.             /* [in] */ LPWSTR szw);
  4960.         
  4961.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_RenewalCertificate )( 
  4962.             IEnroll2 __RPC_FAR * This,
  4963.             /* [out] */ PCCERT_CONTEXT __RPC_FAR *ppCertContext);
  4964.         
  4965.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_RenewalCertificate )( 
  4966.             IEnroll2 __RPC_FAR * This,
  4967.             /* [in] */ PCCERT_CONTEXT pCertContext);
  4968.         
  4969.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddCertTypeToRequestWStr )( 
  4970.             IEnroll2 __RPC_FAR * This,
  4971.             /* [in] */ LPWSTR szw);
  4972.         
  4973.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddNameValuePairToSignatureWStr )( 
  4974.             IEnroll2 __RPC_FAR * This,
  4975.             /* [in] */ LPWSTR Name,
  4976.             /* [in] */ LPWSTR Value);
  4977.         
  4978.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddExtensionsToRequest )( 
  4979.             IEnroll2 __RPC_FAR * This,
  4980.             /* [in] */ PCERT_EXTENSIONS pCertExtensions);
  4981.         
  4982.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddAuthenticatedAttributesToPKCS7Request )( 
  4983.             IEnroll2 __RPC_FAR * This,
  4984.             /* [in] */ PCRYPT_ATTRIBUTES pAttributes);
  4985.         
  4986.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreatePKCS7RequestFromRequest )( 
  4987.             IEnroll2 __RPC_FAR * This,
  4988.             /* [in] */ PCRYPT_DATA_BLOB pRequest,
  4989.             /* [in] */ PCCERT_CONTEXT pSigningCertContext,
  4990.             /* [out] */ PCRYPT_DATA_BLOB pPkcs7Blob);
  4991.         
  4992.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *InstallPKCS7Blob )( 
  4993.             IEnroll2 __RPC_FAR * This,
  4994.             /* [in] */ PCRYPT_DATA_BLOB pBlobPKCS7);
  4995.         
  4996.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Reset )( 
  4997.             IEnroll2 __RPC_FAR * This);
  4998.         
  4999.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSupportedKeySpec )( 
  5000.             IEnroll2 __RPC_FAR * This,
  5001.             /* [out] */ DWORD __RPC_FAR *pdwKeySpec);
  5002.         
  5003.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetKeyLen )( 
  5004.             IEnroll2 __RPC_FAR * This,
  5005.             /* [in] */ BOOL fMin,
  5006.             /* [in] */ BOOL fExchange,
  5007.             /* [out] */ DWORD __RPC_FAR *pdwKeySize);
  5008.         
  5009.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EnumAlgs )( 
  5010.             IEnroll2 __RPC_FAR * This,
  5011.             /* [in] */ DWORD dwIndex,
  5012.             /* [in] */ DWORD algClass,
  5013.             /* [out] */ DWORD __RPC_FAR *pdwAlgID);
  5014.         
  5015.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetAlgNameWStr )( 
  5016.             IEnroll2 __RPC_FAR * This,
  5017.             /* [in] */ DWORD algID,
  5018.             /* [out] */ LPWSTR __RPC_FAR *ppwsz);
  5019.         
  5020.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ReuseHardwareKeyIfUnableToGenNew )( 
  5021.             IEnroll2 __RPC_FAR * This,
  5022.             /* [in] */ BOOL fReuseHardwareKeyIfUnableToGenNew);
  5023.         
  5024.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ReuseHardwareKeyIfUnableToGenNew )( 
  5025.             IEnroll2 __RPC_FAR * This,
  5026.             /* [out] */ BOOL __RPC_FAR *fReuseHardwareKeyIfUnableToGenNew);
  5027.         
  5028.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_HashAlgID )( 
  5029.             IEnroll2 __RPC_FAR * This,
  5030.             /* [in] */ DWORD hashAlgID);
  5031.         
  5032.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_HashAlgID )( 
  5033.             IEnroll2 __RPC_FAR * This,
  5034.             /* [retval][out] */ DWORD __RPC_FAR *hashAlgID);
  5035.         
  5036.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetHStoreMy )( 
  5037.             IEnroll2 __RPC_FAR * This,
  5038.             /* [in] */ HCERTSTORE hStore);
  5039.         
  5040.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetHStoreCA )( 
  5041.             IEnroll2 __RPC_FAR * This,
  5042.             /* [in] */ HCERTSTORE hStore);
  5043.         
  5044.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetHStoreROOT )( 
  5045.             IEnroll2 __RPC_FAR * This,
  5046.             /* [in] */ HCERTSTORE hStore);
  5047.         
  5048.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetHStoreRequest )( 
  5049.             IEnroll2 __RPC_FAR * This,
  5050.             /* [in] */ HCERTSTORE hStore);
  5051.         
  5052.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_LimitExchangeKeyToEncipherment )( 
  5053.             IEnroll2 __RPC_FAR * This,
  5054.             /* [in] */ BOOL fLimitExchangeKeyToEncipherment);
  5055.         
  5056.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_LimitExchangeKeyToEncipherment )( 
  5057.             IEnroll2 __RPC_FAR * This,
  5058.             /* [retval][out] */ BOOL __RPC_FAR *fLimitExchangeKeyToEncipherment);
  5059.         
  5060.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_EnableSMIMECapabilities )( 
  5061.             IEnroll2 __RPC_FAR * This,
  5062.             /* [in] */ BOOL fEnableSMIMECapabilities);
  5063.         
  5064.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EnableSMIMECapabilities )( 
  5065.             IEnroll2 __RPC_FAR * This,
  5066.             /* [retval][out] */ BOOL __RPC_FAR *fEnableSMIMECapabilities);
  5067.         
  5068.         END_INTERFACE
  5069.     } IEnroll2Vtbl;
  5070.  
  5071.     interface IEnroll2
  5072.     {
  5073.         CONST_VTBL struct IEnroll2Vtbl __RPC_FAR *lpVtbl;
  5074.     };
  5075.  
  5076.     
  5077.  
  5078. #ifdef COBJMACROS
  5079.  
  5080.  
  5081. #define IEnroll2_QueryInterface(This,riid,ppvObject)    \
  5082.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5083.  
  5084. #define IEnroll2_AddRef(This)    \
  5085.     (This)->lpVtbl -> AddRef(This)
  5086.  
  5087. #define IEnroll2_Release(This)    \
  5088.     (This)->lpVtbl -> Release(This)
  5089.  
  5090.  
  5091. #define IEnroll2_createFilePKCS10WStr(This,DNName,Usage,wszPKCS10FileName)    \
  5092.     (This)->lpVtbl -> createFilePKCS10WStr(This,DNName,Usage,wszPKCS10FileName)
  5093.  
  5094. #define IEnroll2_acceptFilePKCS7WStr(This,wszPKCS7FileName)    \
  5095.     (This)->lpVtbl -> acceptFilePKCS7WStr(This,wszPKCS7FileName)
  5096.  
  5097. #define IEnroll2_createPKCS10WStr(This,DNName,Usage,pPkcs10Blob)    \
  5098.     (This)->lpVtbl -> createPKCS10WStr(This,DNName,Usage,pPkcs10Blob)
  5099.  
  5100. #define IEnroll2_acceptPKCS7Blob(This,pBlobPKCS7)    \
  5101.     (This)->lpVtbl -> acceptPKCS7Blob(This,pBlobPKCS7)
  5102.  
  5103. #define IEnroll2_getCertContextFromPKCS7(This,pBlobPKCS7)    \
  5104.     (This)->lpVtbl -> getCertContextFromPKCS7(This,pBlobPKCS7)
  5105.  
  5106. #define IEnroll2_getMyStore(This)    \
  5107.     (This)->lpVtbl -> getMyStore(This)
  5108.  
  5109. #define IEnroll2_getCAStore(This)    \
  5110.     (This)->lpVtbl -> getCAStore(This)
  5111.  
  5112. #define IEnroll2_getROOTHStore(This)    \
  5113.     (This)->lpVtbl -> getROOTHStore(This)
  5114.  
  5115. #define IEnroll2_enumProvidersWStr(This,dwIndex,dwFlags,pbstrProvName)    \
  5116.     (This)->lpVtbl -> enumProvidersWStr(This,dwIndex,dwFlags,pbstrProvName)
  5117.  
  5118. #define IEnroll2_enumContainersWStr(This,dwIndex,pbstr)    \
  5119.     (This)->lpVtbl -> enumContainersWStr(This,dwIndex,pbstr)
  5120.  
  5121. #define IEnroll2_freeRequestInfoBlob(This,pkcs7OrPkcs10)    \
  5122.     (This)->lpVtbl -> freeRequestInfoBlob(This,pkcs7OrPkcs10)
  5123.  
  5124. #define IEnroll2_get_MyStoreNameWStr(This,szwName)    \
  5125.     (This)->lpVtbl -> get_MyStoreNameWStr(This,szwName)
  5126.  
  5127. #define IEnroll2_put_MyStoreNameWStr(This,szwName)    \
  5128.     (This)->lpVtbl -> put_MyStoreNameWStr(This,szwName)
  5129.  
  5130. #define IEnroll2_get_MyStoreTypeWStr(This,szwType)    \
  5131.     (This)->lpVtbl -> get_MyStoreTypeWStr(This,szwType)
  5132.  
  5133. #define IEnroll2_put_MyStoreTypeWStr(This,szwType)    \
  5134.     (This)->lpVtbl -> put_MyStoreTypeWStr(This,szwType)
  5135.  
  5136. #define IEnroll2_get_MyStoreFlags(This,pdwFlags)    \
  5137.     (This)->lpVtbl -> get_MyStoreFlags(This,pdwFlags)
  5138.  
  5139. #define IEnroll2_put_MyStoreFlags(This,dwFlags)    \
  5140.     (This)->lpVtbl -> put_MyStoreFlags(This,dwFlags)
  5141.  
  5142. #define IEnroll2_get_CAStoreNameWStr(This,szwName)    \
  5143.     (This)->lpVtbl -> get_CAStoreNameWStr(This,szwName)
  5144.  
  5145. #define IEnroll2_put_CAStoreNameWStr(This,szwName)    \
  5146.     (This)->lpVtbl -> put_CAStoreNameWStr(This,szwName)
  5147.  
  5148. #define IEnroll2_get_CAStoreTypeWStr(This,szwType)    \
  5149.     (This)->lpVtbl -> get_CAStoreTypeWStr(This,szwType)
  5150.  
  5151. #define IEnroll2_put_CAStoreTypeWStr(This,szwType)    \
  5152.     (This)->lpVtbl -> put_CAStoreTypeWStr(This,szwType)
  5153.  
  5154. #define IEnroll2_get_CAStoreFlags(This,pdwFlags)    \
  5155.     (This)->lpVtbl -> get_CAStoreFlags(This,pdwFlags)
  5156.  
  5157. #define IEnroll2_put_CAStoreFlags(This,dwFlags)    \
  5158.     (This)->lpVtbl -> put_CAStoreFlags(This,dwFlags)
  5159.  
  5160. #define IEnroll2_get_RootStoreNameWStr(This,szwName)    \
  5161.     (This)->lpVtbl -> get_RootStoreNameWStr(This,szwName)
  5162.  
  5163. #define IEnroll2_put_RootStoreNameWStr(This,szwName)    \
  5164.     (This)->lpVtbl -> put_RootStoreNameWStr(This,szwName)
  5165.  
  5166. #define IEnroll2_get_RootStoreTypeWStr(This,szwType)    \
  5167.     (This)->lpVtbl -> get_RootStoreTypeWStr(This,szwType)
  5168.  
  5169. #define IEnroll2_put_RootStoreTypeWStr(This,szwType)    \
  5170.     (This)->lpVtbl -> put_RootStoreTypeWStr(This,szwType)
  5171.  
  5172. #define IEnroll2_get_RootStoreFlags(This,pdwFlags)    \
  5173.     (This)->lpVtbl -> get_RootStoreFlags(This,pdwFlags)
  5174.  
  5175. #define IEnroll2_put_RootStoreFlags(This,dwFlags)    \
  5176.     (This)->lpVtbl -> put_RootStoreFlags(This,dwFlags)
  5177.  
  5178. #define IEnroll2_get_RequestStoreNameWStr(This,szwName)    \
  5179.     (This)->lpVtbl -> get_RequestStoreNameWStr(This,szwName)
  5180.  
  5181. #define IEnroll2_put_RequestStoreNameWStr(This,szwName)    \
  5182.     (This)->lpVtbl -> put_RequestStoreNameWStr(This,szwName)
  5183.  
  5184. #define IEnroll2_get_RequestStoreTypeWStr(This,szwType)    \
  5185.     (This)->lpVtbl -> get_RequestStoreTypeWStr(This,szwType)
  5186.  
  5187. #define IEnroll2_put_RequestStoreTypeWStr(This,szwType)    \
  5188.     (This)->lpVtbl -> put_RequestStoreTypeWStr(This,szwType)
  5189.  
  5190. #define IEnroll2_get_RequestStoreFlags(This,pdwFlags)    \
  5191.     (This)->lpVtbl -> get_RequestStoreFlags(This,pdwFlags)
  5192.  
  5193. #define IEnroll2_put_RequestStoreFlags(This,dwFlags)    \
  5194.     (This)->lpVtbl -> put_RequestStoreFlags(This,dwFlags)
  5195.  
  5196. #define IEnroll2_get_ContainerNameWStr(This,szwContainer)    \
  5197.     (This)->lpVtbl -> get_ContainerNameWStr(This,szwContainer)
  5198.  
  5199. #define IEnroll2_put_ContainerNameWStr(This,szwContainer)    \
  5200.     (This)->lpVtbl -> put_ContainerNameWStr(This,szwContainer)
  5201.  
  5202. #define IEnroll2_get_ProviderNameWStr(This,szwProvider)    \
  5203.     (This)->lpVtbl -> get_ProviderNameWStr(This,szwProvider)
  5204.  
  5205. #define IEnroll2_put_ProviderNameWStr(This,szwProvider)    \
  5206.     (This)->lpVtbl -> put_ProviderNameWStr(This,szwProvider)
  5207.  
  5208. #define IEnroll2_get_ProviderType(This,pdwType)    \
  5209.     (This)->lpVtbl -> get_ProviderType(This,pdwType)
  5210.  
  5211. #define IEnroll2_put_ProviderType(This,dwType)    \
  5212.     (This)->lpVtbl -> put_ProviderType(This,dwType)
  5213.  
  5214. #define IEnroll2_get_KeySpec(This,pdw)    \
  5215.     (This)->lpVtbl -> get_KeySpec(This,pdw)
  5216.  
  5217. #define IEnroll2_put_KeySpec(This,dw)    \
  5218.     (This)->lpVtbl -> put_KeySpec(This,dw)
  5219.  
  5220. #define IEnroll2_get_ProviderFlags(This,pdwFlags)    \
  5221.     (This)->lpVtbl -> get_ProviderFlags(This,pdwFlags)
  5222.  
  5223. #define IEnroll2_put_ProviderFlags(This,dwFlags)    \
  5224.     (This)->lpVtbl -> put_ProviderFlags(This,dwFlags)
  5225.  
  5226. #define IEnroll2_get_UseExistingKeySet(This,fUseExistingKeys)    \
  5227.     (This)->lpVtbl -> get_UseExistingKeySet(This,fUseExistingKeys)
  5228.  
  5229. #define IEnroll2_put_UseExistingKeySet(This,fUseExistingKeys)    \
  5230.     (This)->lpVtbl -> put_UseExistingKeySet(This,fUseExistingKeys)
  5231.  
  5232. #define IEnroll2_get_GenKeyFlags(This,pdwFlags)    \
  5233.     (This)->lpVtbl -> get_GenKeyFlags(This,pdwFlags)
  5234.  
  5235. #define IEnroll2_put_GenKeyFlags(This,dwFlags)    \
  5236.     (This)->lpVtbl -> put_GenKeyFlags(This,dwFlags)
  5237.  
  5238. #define IEnroll2_get_DeleteRequestCert(This,fDelete)    \
  5239.     (This)->lpVtbl -> get_DeleteRequestCert(This,fDelete)
  5240.  
  5241. #define IEnroll2_put_DeleteRequestCert(This,fDelete)    \
  5242.     (This)->lpVtbl -> put_DeleteRequestCert(This,fDelete)
  5243.  
  5244. #define IEnroll2_get_WriteCertToUserDS(This,fBool)    \
  5245.     (This)->lpVtbl -> get_WriteCertToUserDS(This,fBool)
  5246.  
  5247. #define IEnroll2_put_WriteCertToUserDS(This,fBool)    \
  5248.     (This)->lpVtbl -> put_WriteCertToUserDS(This,fBool)
  5249.  
  5250. #define IEnroll2_get_EnableT61DNEncoding(This,fBool)    \
  5251.     (This)->lpVtbl -> get_EnableT61DNEncoding(This,fBool)
  5252.  
  5253. #define IEnroll2_put_EnableT61DNEncoding(This,fBool)    \
  5254.     (This)->lpVtbl -> put_EnableT61DNEncoding(This,fBool)
  5255.  
  5256. #define IEnroll2_get_WriteCertToCSP(This,fBool)    \
  5257.     (This)->lpVtbl -> get_WriteCertToCSP(This,fBool)
  5258.  
  5259. #define IEnroll2_put_WriteCertToCSP(This,fBool)    \
  5260.     (This)->lpVtbl -> put_WriteCertToCSP(This,fBool)
  5261.  
  5262. #define IEnroll2_get_SPCFileNameWStr(This,szw)    \
  5263.     (This)->lpVtbl -> get_SPCFileNameWStr(This,szw)
  5264.  
  5265. #define IEnroll2_put_SPCFileNameWStr(This,szw)    \
  5266.     (This)->lpVtbl -> put_SPCFileNameWStr(This,szw)
  5267.  
  5268. #define IEnroll2_get_PVKFileNameWStr(This,szw)    \
  5269.     (This)->lpVtbl -> get_PVKFileNameWStr(This,szw)
  5270.  
  5271. #define IEnroll2_put_PVKFileNameWStr(This,szw)    \
  5272.     (This)->lpVtbl -> put_PVKFileNameWStr(This,szw)
  5273.  
  5274. #define IEnroll2_get_HashAlgorithmWStr(This,szw)    \
  5275.     (This)->lpVtbl -> get_HashAlgorithmWStr(This,szw)
  5276.  
  5277. #define IEnroll2_put_HashAlgorithmWStr(This,szw)    \
  5278.     (This)->lpVtbl -> put_HashAlgorithmWStr(This,szw)
  5279.  
  5280. #define IEnroll2_get_RenewalCertificate(This,ppCertContext)    \
  5281.     (This)->lpVtbl -> get_RenewalCertificate(This,ppCertContext)
  5282.  
  5283. #define IEnroll2_put_RenewalCertificate(This,pCertContext)    \
  5284.     (This)->lpVtbl -> put_RenewalCertificate(This,pCertContext)
  5285.  
  5286. #define IEnroll2_AddCertTypeToRequestWStr(This,szw)    \
  5287.     (This)->lpVtbl -> AddCertTypeToRequestWStr(This,szw)
  5288.  
  5289. #define IEnroll2_AddNameValuePairToSignatureWStr(This,Name,Value)    \
  5290.     (This)->lpVtbl -> AddNameValuePairToSignatureWStr(This,Name,Value)
  5291.  
  5292. #define IEnroll2_AddExtensionsToRequest(This,pCertExtensions)    \
  5293.     (This)->lpVtbl -> AddExtensionsToRequest(This,pCertExtensions)
  5294.  
  5295. #define IEnroll2_AddAuthenticatedAttributesToPKCS7Request(This,pAttributes)    \
  5296.     (This)->lpVtbl -> AddAuthenticatedAttributesToPKCS7Request(This,pAttributes)
  5297.  
  5298. #define IEnroll2_CreatePKCS7RequestFromRequest(This,pRequest,pSigningCertContext,pPkcs7Blob)    \
  5299.     (This)->lpVtbl -> CreatePKCS7RequestFromRequest(This,pRequest,pSigningCertContext,pPkcs7Blob)
  5300.  
  5301.  
  5302. #define IEnroll2_InstallPKCS7Blob(This,pBlobPKCS7)    \
  5303.     (This)->lpVtbl -> InstallPKCS7Blob(This,pBlobPKCS7)
  5304.  
  5305. #define IEnroll2_Reset(This)    \
  5306.     (This)->lpVtbl -> Reset(This)
  5307.  
  5308. #define IEnroll2_GetSupportedKeySpec(This,pdwKeySpec)    \
  5309.     (This)->lpVtbl -> GetSupportedKeySpec(This,pdwKeySpec)
  5310.  
  5311. #define IEnroll2_GetKeyLen(This,fMin,fExchange,pdwKeySize)    \
  5312.     (This)->lpVtbl -> GetKeyLen(This,fMin,fExchange,pdwKeySize)
  5313.  
  5314. #define IEnroll2_EnumAlgs(This,dwIndex,algClass,pdwAlgID)    \
  5315.     (This)->lpVtbl -> EnumAlgs(This,dwIndex,algClass,pdwAlgID)
  5316.  
  5317. #define IEnroll2_GetAlgNameWStr(This,algID,ppwsz)    \
  5318.     (This)->lpVtbl -> GetAlgNameWStr(This,algID,ppwsz)
  5319.  
  5320. #define IEnroll2_put_ReuseHardwareKeyIfUnableToGenNew(This,fReuseHardwareKeyIfUnableToGenNew)    \
  5321.     (This)->lpVtbl -> put_ReuseHardwareKeyIfUnableToGenNew(This,fReuseHardwareKeyIfUnableToGenNew)
  5322.  
  5323. #define IEnroll2_get_ReuseHardwareKeyIfUnableToGenNew(This,fReuseHardwareKeyIfUnableToGenNew)    \
  5324.     (This)->lpVtbl -> get_ReuseHardwareKeyIfUnableToGenNew(This,fReuseHardwareKeyIfUnableToGenNew)
  5325.  
  5326. #define IEnroll2_put_HashAlgID(This,hashAlgID)    \
  5327.     (This)->lpVtbl -> put_HashAlgID(This,hashAlgID)
  5328.  
  5329. #define IEnroll2_get_HashAlgID(This,hashAlgID)    \
  5330.     (This)->lpVtbl -> get_HashAlgID(This,hashAlgID)
  5331.  
  5332. #define IEnroll2_SetHStoreMy(This,hStore)    \
  5333.     (This)->lpVtbl -> SetHStoreMy(This,hStore)
  5334.  
  5335. #define IEnroll2_SetHStoreCA(This,hStore)    \
  5336.     (This)->lpVtbl -> SetHStoreCA(This,hStore)
  5337.  
  5338. #define IEnroll2_SetHStoreROOT(This,hStore)    \
  5339.     (This)->lpVtbl -> SetHStoreROOT(This,hStore)
  5340.  
  5341. #define IEnroll2_SetHStoreRequest(This,hStore)    \
  5342.     (This)->lpVtbl -> SetHStoreRequest(This,hStore)
  5343.  
  5344. #define IEnroll2_put_LimitExchangeKeyToEncipherment(This,fLimitExchangeKeyToEncipherment)    \
  5345.     (This)->lpVtbl -> put_LimitExchangeKeyToEncipherment(This,fLimitExchangeKeyToEncipherment)
  5346.  
  5347. #define IEnroll2_get_LimitExchangeKeyToEncipherment(This,fLimitExchangeKeyToEncipherment)    \
  5348.     (This)->lpVtbl -> get_LimitExchangeKeyToEncipherment(This,fLimitExchangeKeyToEncipherment)
  5349.  
  5350. #define IEnroll2_put_EnableSMIMECapabilities(This,fEnableSMIMECapabilities)    \
  5351.     (This)->lpVtbl -> put_EnableSMIMECapabilities(This,fEnableSMIMECapabilities)
  5352.  
  5353. #define IEnroll2_get_EnableSMIMECapabilities(This,fEnableSMIMECapabilities)    \
  5354.     (This)->lpVtbl -> get_EnableSMIMECapabilities(This,fEnableSMIMECapabilities)
  5355.  
  5356. #endif /* COBJMACROS */
  5357.  
  5358.  
  5359. #endif     /* C style interface */
  5360.  
  5361.  
  5362.  
  5363. HRESULT STDMETHODCALLTYPE IEnroll2_InstallPKCS7Blob_Proxy( 
  5364.     IEnroll2 __RPC_FAR * This,
  5365.     /* [in] */ PCRYPT_DATA_BLOB pBlobPKCS7);
  5366.  
  5367.  
  5368. void __RPC_STUB IEnroll2_InstallPKCS7Blob_Stub(
  5369.     IRpcStubBuffer *This,
  5370.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5371.     PRPC_MESSAGE _pRpcMessage,
  5372.     DWORD *_pdwStubPhase);
  5373.  
  5374.  
  5375. HRESULT STDMETHODCALLTYPE IEnroll2_Reset_Proxy( 
  5376.     IEnroll2 __RPC_FAR * This);
  5377.  
  5378.  
  5379. void __RPC_STUB IEnroll2_Reset_Stub(
  5380.     IRpcStubBuffer *This,
  5381.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5382.     PRPC_MESSAGE _pRpcMessage,
  5383.     DWORD *_pdwStubPhase);
  5384.  
  5385.  
  5386. HRESULT STDMETHODCALLTYPE IEnroll2_GetSupportedKeySpec_Proxy( 
  5387.     IEnroll2 __RPC_FAR * This,
  5388.     /* [out] */ DWORD __RPC_FAR *pdwKeySpec);
  5389.  
  5390.  
  5391. void __RPC_STUB IEnroll2_GetSupportedKeySpec_Stub(
  5392.     IRpcStubBuffer *This,
  5393.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5394.     PRPC_MESSAGE _pRpcMessage,
  5395.     DWORD *_pdwStubPhase);
  5396.  
  5397.  
  5398. HRESULT STDMETHODCALLTYPE IEnroll2_GetKeyLen_Proxy( 
  5399.     IEnroll2 __RPC_FAR * This,
  5400.     /* [in] */ BOOL fMin,
  5401.     /* [in] */ BOOL fExchange,
  5402.     /* [out] */ DWORD __RPC_FAR *pdwKeySize);
  5403.  
  5404.  
  5405. void __RPC_STUB IEnroll2_GetKeyLen_Stub(
  5406.     IRpcStubBuffer *This,
  5407.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5408.     PRPC_MESSAGE _pRpcMessage,
  5409.     DWORD *_pdwStubPhase);
  5410.  
  5411.  
  5412. HRESULT STDMETHODCALLTYPE IEnroll2_EnumAlgs_Proxy( 
  5413.     IEnroll2 __RPC_FAR * This,
  5414.     /* [in] */ DWORD dwIndex,
  5415.     /* [in] */ DWORD algClass,
  5416.     /* [out] */ DWORD __RPC_FAR *pdwAlgID);
  5417.  
  5418.  
  5419. void __RPC_STUB IEnroll2_EnumAlgs_Stub(
  5420.     IRpcStubBuffer *This,
  5421.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5422.     PRPC_MESSAGE _pRpcMessage,
  5423.     DWORD *_pdwStubPhase);
  5424.  
  5425.  
  5426. HRESULT STDMETHODCALLTYPE IEnroll2_GetAlgNameWStr_Proxy( 
  5427.     IEnroll2 __RPC_FAR * This,
  5428.     /* [in] */ DWORD algID,
  5429.     /* [out] */ LPWSTR __RPC_FAR *ppwsz);
  5430.  
  5431.  
  5432. void __RPC_STUB IEnroll2_GetAlgNameWStr_Stub(
  5433.     IRpcStubBuffer *This,
  5434.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5435.     PRPC_MESSAGE _pRpcMessage,
  5436.     DWORD *_pdwStubPhase);
  5437.  
  5438.  
  5439. /* [propput] */ HRESULT STDMETHODCALLTYPE IEnroll2_put_ReuseHardwareKeyIfUnableToGenNew_Proxy( 
  5440.     IEnroll2 __RPC_FAR * This,
  5441.     /* [in] */ BOOL fReuseHardwareKeyIfUnableToGenNew);
  5442.  
  5443.  
  5444. void __RPC_STUB IEnroll2_put_ReuseHardwareKeyIfUnableToGenNew_Stub(
  5445.     IRpcStubBuffer *This,
  5446.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5447.     PRPC_MESSAGE _pRpcMessage,
  5448.     DWORD *_pdwStubPhase);
  5449.  
  5450.  
  5451. /* [propget] */ HRESULT STDMETHODCALLTYPE IEnroll2_get_ReuseHardwareKeyIfUnableToGenNew_Proxy( 
  5452.     IEnroll2 __RPC_FAR * This,
  5453.     /* [out] */ BOOL __RPC_FAR *fReuseHardwareKeyIfUnableToGenNew);
  5454.  
  5455.  
  5456. void __RPC_STUB IEnroll2_get_ReuseHardwareKeyIfUnableToGenNew_Stub(
  5457.     IRpcStubBuffer *This,
  5458.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5459.     PRPC_MESSAGE _pRpcMessage,
  5460.     DWORD *_pdwStubPhase);
  5461.  
  5462.  
  5463. /* [propput] */ HRESULT STDMETHODCALLTYPE IEnroll2_put_HashAlgID_Proxy( 
  5464.     IEnroll2 __RPC_FAR * This,
  5465.     /* [in] */ DWORD hashAlgID);
  5466.  
  5467.  
  5468. void __RPC_STUB IEnroll2_put_HashAlgID_Stub(
  5469.     IRpcStubBuffer *This,
  5470.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5471.     PRPC_MESSAGE _pRpcMessage,
  5472.     DWORD *_pdwStubPhase);
  5473.  
  5474.  
  5475. /* [propget] */ HRESULT STDMETHODCALLTYPE IEnroll2_get_HashAlgID_Proxy( 
  5476.     IEnroll2 __RPC_FAR * This,
  5477.     /* [retval][out] */ DWORD __RPC_FAR *hashAlgID);
  5478.  
  5479.  
  5480. void __RPC_STUB IEnroll2_get_HashAlgID_Stub(
  5481.     IRpcStubBuffer *This,
  5482.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5483.     PRPC_MESSAGE _pRpcMessage,
  5484.     DWORD *_pdwStubPhase);
  5485.  
  5486.  
  5487. HRESULT STDMETHODCALLTYPE IEnroll2_SetHStoreMy_Proxy( 
  5488.     IEnroll2 __RPC_FAR * This,
  5489.     /* [in] */ HCERTSTORE hStore);
  5490.  
  5491.  
  5492. void __RPC_STUB IEnroll2_SetHStoreMy_Stub(
  5493.     IRpcStubBuffer *This,
  5494.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5495.     PRPC_MESSAGE _pRpcMessage,
  5496.     DWORD *_pdwStubPhase);
  5497.  
  5498.  
  5499. HRESULT STDMETHODCALLTYPE IEnroll2_SetHStoreCA_Proxy( 
  5500.     IEnroll2 __RPC_FAR * This,
  5501.     /* [in] */ HCERTSTORE hStore);
  5502.  
  5503.  
  5504. void __RPC_STUB IEnroll2_SetHStoreCA_Stub(
  5505.     IRpcStubBuffer *This,
  5506.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5507.     PRPC_MESSAGE _pRpcMessage,
  5508.     DWORD *_pdwStubPhase);
  5509.  
  5510.  
  5511. HRESULT STDMETHODCALLTYPE IEnroll2_SetHStoreROOT_Proxy( 
  5512.     IEnroll2 __RPC_FAR * This,
  5513.     /* [in] */ HCERTSTORE hStore);
  5514.  
  5515.  
  5516. void __RPC_STUB IEnroll2_SetHStoreROOT_Stub(
  5517.     IRpcStubBuffer *This,
  5518.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5519.     PRPC_MESSAGE _pRpcMessage,
  5520.     DWORD *_pdwStubPhase);
  5521.  
  5522.  
  5523. HRESULT STDMETHODCALLTYPE IEnroll2_SetHStoreRequest_Proxy( 
  5524.     IEnroll2 __RPC_FAR * This,
  5525.     /* [in] */ HCERTSTORE hStore);
  5526.  
  5527.  
  5528. void __RPC_STUB IEnroll2_SetHStoreRequest_Stub(
  5529.     IRpcStubBuffer *This,
  5530.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5531.     PRPC_MESSAGE _pRpcMessage,
  5532.     DWORD *_pdwStubPhase);
  5533.  
  5534.  
  5535. /* [propput] */ HRESULT STDMETHODCALLTYPE IEnroll2_put_LimitExchangeKeyToEncipherment_Proxy( 
  5536.     IEnroll2 __RPC_FAR * This,
  5537.     /* [in] */ BOOL fLimitExchangeKeyToEncipherment);
  5538.  
  5539.  
  5540. void __RPC_STUB IEnroll2_put_LimitExchangeKeyToEncipherment_Stub(
  5541.     IRpcStubBuffer *This,
  5542.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5543.     PRPC_MESSAGE _pRpcMessage,
  5544.     DWORD *_pdwStubPhase);
  5545.  
  5546.  
  5547. /* [propget] */ HRESULT STDMETHODCALLTYPE IEnroll2_get_LimitExchangeKeyToEncipherment_Proxy( 
  5548.     IEnroll2 __RPC_FAR * This,
  5549.     /* [retval][out] */ BOOL __RPC_FAR *fLimitExchangeKeyToEncipherment);
  5550.  
  5551.  
  5552. void __RPC_STUB IEnroll2_get_LimitExchangeKeyToEncipherment_Stub(
  5553.     IRpcStubBuffer *This,
  5554.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5555.     PRPC_MESSAGE _pRpcMessage,
  5556.     DWORD *_pdwStubPhase);
  5557.  
  5558.  
  5559. /* [propput] */ HRESULT STDMETHODCALLTYPE IEnroll2_put_EnableSMIMECapabilities_Proxy( 
  5560.     IEnroll2 __RPC_FAR * This,
  5561.     /* [in] */ BOOL fEnableSMIMECapabilities);
  5562.  
  5563.  
  5564. void __RPC_STUB IEnroll2_put_EnableSMIMECapabilities_Stub(
  5565.     IRpcStubBuffer *This,
  5566.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5567.     PRPC_MESSAGE _pRpcMessage,
  5568.     DWORD *_pdwStubPhase);
  5569.  
  5570.  
  5571. /* [propget] */ HRESULT STDMETHODCALLTYPE IEnroll2_get_EnableSMIMECapabilities_Proxy( 
  5572.     IEnroll2 __RPC_FAR * This,
  5573.     /* [retval][out] */ BOOL __RPC_FAR *fEnableSMIMECapabilities);
  5574.  
  5575.  
  5576. void __RPC_STUB IEnroll2_get_EnableSMIMECapabilities_Stub(
  5577.     IRpcStubBuffer *This,
  5578.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5579.     PRPC_MESSAGE _pRpcMessage,
  5580.     DWORD *_pdwStubPhase);
  5581.  
  5582.  
  5583.  
  5584. #endif     /* __IEnroll2_INTERFACE_DEFINED__ */
  5585.  
  5586.  
  5587.  
  5588. #ifndef __XENROLLLib_LIBRARY_DEFINED__
  5589. #define __XENROLLLib_LIBRARY_DEFINED__
  5590.  
  5591. /* library XENROLLLib */
  5592. /* [helpstring][version][uuid] */ 
  5593.  
  5594.  
  5595. EXTERN_C const IID LIBID_XENROLLLib;
  5596.  
  5597. EXTERN_C const CLSID CLSID_CEnroll;
  5598.  
  5599. #ifdef __cplusplus
  5600.  
  5601. class DECLSPEC_UUID("43F8F289-7A20-11D0-8F06-00C04FC295E1")
  5602. CEnroll;
  5603. #endif
  5604. #endif /* __XENROLLLib_LIBRARY_DEFINED__ */
  5605.  
  5606. /* interface __MIDL_itf_xenroll_0249 */
  5607. /* [local] */ 
  5608.  
  5609. extern "C" IEnroll * WINAPI PIEnrollGetNoCOM(void);
  5610. extern "C" IEnroll2 * WINAPI PIEnroll2GetNoCOM(void);
  5611. #define CRYPT_ENUM_ALL_PROVIDERS  0x1
  5612.  
  5613.  
  5614. extern RPC_IF_HANDLE __MIDL_itf_xenroll_0249_v0_0_c_ifspec;
  5615. extern RPC_IF_HANDLE __MIDL_itf_xenroll_0249_v0_0_s_ifspec;
  5616.  
  5617. /* Additional Prototypes for ALL interfaces */
  5618.  
  5619. unsigned long             __RPC_USER  BSTR_UserSize(     unsigned long __RPC_FAR *, unsigned long            , BSTR __RPC_FAR * ); 
  5620. unsigned char __RPC_FAR * __RPC_USER  BSTR_UserMarshal(  unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, BSTR __RPC_FAR * ); 
  5621. unsigned char __RPC_FAR * __RPC_USER  BSTR_UserUnmarshal(unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, BSTR __RPC_FAR * ); 
  5622. void                      __RPC_USER  BSTR_UserFree(     unsigned long __RPC_FAR *, BSTR __RPC_FAR * ); 
  5623.  
  5624. /* end of Additional Prototypes */
  5625.  
  5626. #ifdef __cplusplus
  5627. }
  5628. #endif
  5629.  
  5630. #endif
  5631.  
  5632.  
  5633. #pragma option pop /*P_O_Pop*/
  5634.