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

模拟服务器

开发平台:

C/C++

  1. void __RPC_STUB ICEnroll3_GetAlgName_Stub(
  2.     IRpcStubBuffer *This,
  3.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4.     PRPC_MESSAGE _pRpcMessage,
  5.     DWORD *_pdwStubPhase);
  6. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll3_put_ReuseHardwareKeyIfUnableToGenNew_Proxy( 
  7.     ICEnroll3 * This,
  8.     /* [in] */ BOOL fReuseHardwareKeyIfUnableToGenNew);
  9. void __RPC_STUB ICEnroll3_put_ReuseHardwareKeyIfUnableToGenNew_Stub(
  10.     IRpcStubBuffer *This,
  11.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12.     PRPC_MESSAGE _pRpcMessage,
  13.     DWORD *_pdwStubPhase);
  14. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll3_get_ReuseHardwareKeyIfUnableToGenNew_Proxy( 
  15.     ICEnroll3 * This,
  16.     /* [retval][out] */ BOOL *fReuseHardwareKeyIfUnableToGenNew);
  17. void __RPC_STUB ICEnroll3_get_ReuseHardwareKeyIfUnableToGenNew_Stub(
  18.     IRpcStubBuffer *This,
  19.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20.     PRPC_MESSAGE _pRpcMessage,
  21.     DWORD *_pdwStubPhase);
  22. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll3_put_HashAlgID_Proxy( 
  23.     ICEnroll3 * This,
  24.     /* [in] */ LONG hashAlgID);
  25. void __RPC_STUB ICEnroll3_put_HashAlgID_Stub(
  26.     IRpcStubBuffer *This,
  27.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28.     PRPC_MESSAGE _pRpcMessage,
  29.     DWORD *_pdwStubPhase);
  30. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll3_get_HashAlgID_Proxy( 
  31.     ICEnroll3 * This,
  32.     /* [retval][out] */ LONG *hashAlgID);
  33. void __RPC_STUB ICEnroll3_get_HashAlgID_Stub(
  34.     IRpcStubBuffer *This,
  35.     IRpcChannelBuffer *_pRpcChannelBuffer,
  36.     PRPC_MESSAGE _pRpcMessage,
  37.     DWORD *_pdwStubPhase);
  38. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll3_put_LimitExchangeKeyToEncipherment_Proxy( 
  39.     ICEnroll3 * This,
  40.     /* [in] */ BOOL fLimitExchangeKeyToEncipherment);
  41. void __RPC_STUB ICEnroll3_put_LimitExchangeKeyToEncipherment_Stub(
  42.     IRpcStubBuffer *This,
  43.     IRpcChannelBuffer *_pRpcChannelBuffer,
  44.     PRPC_MESSAGE _pRpcMessage,
  45.     DWORD *_pdwStubPhase);
  46. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll3_get_LimitExchangeKeyToEncipherment_Proxy( 
  47.     ICEnroll3 * This,
  48.     /* [retval][out] */ BOOL *fLimitExchangeKeyToEncipherment);
  49. void __RPC_STUB ICEnroll3_get_LimitExchangeKeyToEncipherment_Stub(
  50.     IRpcStubBuffer *This,
  51.     IRpcChannelBuffer *_pRpcChannelBuffer,
  52.     PRPC_MESSAGE _pRpcMessage,
  53.     DWORD *_pdwStubPhase);
  54. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll3_put_EnableSMIMECapabilities_Proxy( 
  55.     ICEnroll3 * This,
  56.     /* [in] */ BOOL fEnableSMIMECapabilities);
  57. void __RPC_STUB ICEnroll3_put_EnableSMIMECapabilities_Stub(
  58.     IRpcStubBuffer *This,
  59.     IRpcChannelBuffer *_pRpcChannelBuffer,
  60.     PRPC_MESSAGE _pRpcMessage,
  61.     DWORD *_pdwStubPhase);
  62. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll3_get_EnableSMIMECapabilities_Proxy( 
  63.     ICEnroll3 * This,
  64.     /* [retval][out] */ BOOL *fEnableSMIMECapabilities);
  65. void __RPC_STUB ICEnroll3_get_EnableSMIMECapabilities_Stub(
  66.     IRpcStubBuffer *This,
  67.     IRpcChannelBuffer *_pRpcChannelBuffer,
  68.     PRPC_MESSAGE _pRpcMessage,
  69.     DWORD *_pdwStubPhase);
  70. #endif  /* __ICEnroll3_INTERFACE_DEFINED__ */
  71. #ifndef __ICEnroll4_INTERFACE_DEFINED__
  72. #define __ICEnroll4_INTERFACE_DEFINED__
  73. /* interface ICEnroll4 */
  74. /* [unique][helpstring][dual][uuid][object] */ 
  75. EXTERN_C const IID IID_ICEnroll4;
  76. #if defined(__cplusplus) && !defined(CINTERFACE)
  77.     
  78.     MIDL_INTERFACE("c1f1188a-2eb5-4a80-841b-7e729a356d90")
  79.     ICEnroll4 : public ICEnroll3
  80.     {
  81.     public:
  82.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_PrivateKeyArchiveCertificate( 
  83.             /* [in] */ BSTR bstrCert) = 0;
  84.         
  85.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PrivateKeyArchiveCertificate( 
  86.             /* [retval][out] */ BSTR *pbstrCert) = 0;
  87.         
  88.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ThumbPrint( 
  89.             /* [in] */ BSTR bstrThumbPrint) = 0;
  90.         
  91.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ThumbPrint( 
  92.             /* [retval][out] */ BSTR *pbstrThumbPrint) = 0;
  93.         
  94.         virtual HRESULT STDMETHODCALLTYPE binaryToString( 
  95.             /* [in] */ LONG Flags,
  96.             /* [in] */ BSTR strBinary,
  97.             /* [retval][out] */ BSTR *pstrEncoded) = 0;
  98.         
  99.         virtual HRESULT STDMETHODCALLTYPE stringToBinary( 
  100.             /* [in] */ LONG Flags,
  101.             /* [in] */ BSTR strEncoded,
  102.             /* [retval][out] */ BSTR *pstrBinary) = 0;
  103.         
  104.         virtual HRESULT STDMETHODCALLTYPE addExtensionToRequest( 
  105.             /* [in] */ LONG Flags,
  106.             /* [in] */ BSTR strName,
  107.             /* [in] */ BSTR strValue) = 0;
  108.         
  109.         virtual HRESULT STDMETHODCALLTYPE addAttributeToRequest( 
  110.             /* [in] */ LONG Flags,
  111.             /* [in] */ BSTR strName,
  112.             /* [in] */ BSTR strValue) = 0;
  113.         
  114.         virtual HRESULT STDMETHODCALLTYPE addNameValuePairToRequest( 
  115.             /* [in] */ LONG Flags,
  116.             /* [in] */ BSTR strName,
  117.             /* [in] */ BSTR strValue) = 0;
  118.         
  119.         virtual HRESULT STDMETHODCALLTYPE resetExtensions( void) = 0;
  120.         
  121.         virtual HRESULT STDMETHODCALLTYPE resetAttributes( void) = 0;
  122.         
  123.         virtual HRESULT STDMETHODCALLTYPE createRequest( 
  124.             /* [in] */ LONG Flags,
  125.             /* [in] */ BSTR strDNName,
  126.             /* [in] */ BSTR Usage,
  127.             /* [retval][out] */ BSTR *pstrRequest) = 0;
  128.         
  129.         virtual HRESULT STDMETHODCALLTYPE createFileRequest( 
  130.             /* [in] */ LONG Flags,
  131.             /* [in] */ BSTR strDNName,
  132.             /* [in] */ BSTR strUsage,
  133.             /* [in] */ BSTR strRequestFileName) = 0;
  134.         
  135.         virtual HRESULT STDMETHODCALLTYPE acceptResponse( 
  136.             /* [in] */ BSTR strResponse) = 0;
  137.         
  138.         virtual HRESULT STDMETHODCALLTYPE acceptFileResponse( 
  139.             /* [in] */ BSTR strResponseFileName) = 0;
  140.         
  141.         virtual HRESULT STDMETHODCALLTYPE getCertFromResponse( 
  142.             /* [in] */ BSTR strResponse,
  143.             /* [retval][out] */ BSTR *pstrCert) = 0;
  144.         
  145.         virtual HRESULT STDMETHODCALLTYPE getCertFromFileResponse( 
  146.             /* [in] */ BSTR strResponseFileName,
  147.             /* [retval][out] */ BSTR *pstrCert) = 0;
  148.         
  149.         virtual HRESULT STDMETHODCALLTYPE createPFX( 
  150.             /* [in] */ BSTR strPassword,
  151.             /* [retval][out] */ BSTR *pstrPFX) = 0;
  152.         
  153.         virtual HRESULT STDMETHODCALLTYPE createFilePFX( 
  154.             /* [in] */ BSTR strPassword,
  155.             /* [in] */ BSTR strPFXFileName) = 0;
  156.         
  157.         virtual HRESULT STDMETHODCALLTYPE setPendingRequestInfo( 
  158.             /* [in] */ LONG lRequestID,
  159.             /* [in] */ BSTR strCADNS,
  160.             /* [in] */ BSTR strCAName,
  161.             /* [in] */ BSTR strFriendlyName) = 0;
  162.         
  163.         virtual HRESULT STDMETHODCALLTYPE enumPendingRequest( 
  164.             /* [in] */ LONG lIndex,
  165.             /* [in] */ LONG lDesiredProperty,
  166.             /* [retval][out] */ VARIANT *pvarProperty) = 0;
  167.         
  168.         virtual HRESULT STDMETHODCALLTYPE removePendingRequest( 
  169.             /* [in] */ BSTR strThumbprint) = 0;
  170.         
  171.         virtual HRESULT STDMETHODCALLTYPE GetKeyLenEx( 
  172.             /* [in] */ LONG lSizeSpec,
  173.             /* [in] */ LONG lKeySpec,
  174.             /* [retval][out] */ LONG *pdwKeySize) = 0;
  175.         
  176.         virtual HRESULT STDMETHODCALLTYPE InstallPKCS7Ex( 
  177.             /* [in] */ BSTR PKCS7,
  178.             /* [retval][out] */ LONG *plCertInstalled) = 0;
  179.         
  180.         virtual HRESULT STDMETHODCALLTYPE addCertTypeToRequestEx( 
  181.             /* [in] */ LONG lType,
  182.             /* [in] */ BSTR bstrOIDOrName,
  183.             /* [in] */ LONG lMajorVersion,
  184.             /* [in] */ BOOL fMinorVersion,
  185.             /* [in] */ LONG lMinorVersion) = 0;
  186.         
  187.         virtual HRESULT STDMETHODCALLTYPE getProviderType( 
  188.             /* [in] */ BSTR strProvName,
  189.             /* [retval][out] */ LONG *plProvType) = 0;
  190.         
  191.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_SignerCertificate( 
  192.             /* [in] */ BSTR bstrCert) = 0;
  193.         
  194.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ClientId( 
  195.             /* [in] */ LONG lClientId) = 0;
  196.         
  197.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ClientId( 
  198.             /* [retval][out] */ LONG *plClientId) = 0;
  199.         
  200.         virtual HRESULT STDMETHODCALLTYPE addBlobPropertyToCertificate( 
  201.             /* [in] */ LONG lPropertyId,
  202.             /* [in] */ LONG lReserved,
  203.             /* [in] */ BSTR bstrProperty) = 0;
  204.         
  205.         virtual HRESULT STDMETHODCALLTYPE resetBlobProperties( void) = 0;
  206.         
  207.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_IncludeSubjectKeyID( 
  208.             /* [in] */ BOOL fInclude) = 0;
  209.         
  210.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IncludeSubjectKeyID( 
  211.             /* [retval][out] */ BOOL *pfInclude) = 0;
  212.         
  213.     };
  214.     
  215. #else  /* C style interface */
  216.     typedef struct ICEnroll4Vtbl
  217.     {
  218.         BEGIN_INTERFACE
  219.         
  220.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  221.             ICEnroll4 * This,
  222.             /* [in] */ REFIID riid,
  223.             /* [iid_is][out] */ void **ppvObject);
  224.         
  225.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  226.             ICEnroll4 * This);
  227.         
  228.         ULONG ( STDMETHODCALLTYPE *Release )( 
  229.             ICEnroll4 * This);
  230.         
  231.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  232.             ICEnroll4 * This,
  233.             /* [out] */ UINT *pctinfo);
  234.         
  235.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  236.             ICEnroll4 * This,
  237.             /* [in] */ UINT iTInfo,
  238.             /* [in] */ LCID lcid,
  239.             /* [out] */ ITypeInfo **ppTInfo);
  240.         
  241.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  242.             ICEnroll4 * This,
  243.             /* [in] */ REFIID riid,
  244.             /* [size_is][in] */ LPOLESTR *rgszNames,
  245.             /* [in] */ UINT cNames,
  246.             /* [in] */ LCID lcid,
  247.             /* [size_is][out] */ DISPID *rgDispId);
  248.         
  249.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  250.             ICEnroll4 * This,
  251.             /* [in] */ DISPID dispIdMember,
  252.             /* [in] */ REFIID riid,
  253.             /* [in] */ LCID lcid,
  254.             /* [in] */ WORD wFlags,
  255.             /* [out][in] */ DISPPARAMS *pDispParams,
  256.             /* [out] */ VARIANT *pVarResult,
  257.             /* [out] */ EXCEPINFO *pExcepInfo,
  258.             /* [out] */ UINT *puArgErr);
  259.         
  260.         HRESULT ( STDMETHODCALLTYPE *createFilePKCS10 )( 
  261.             ICEnroll4 * This,
  262.             /* [in] */ BSTR DNName,
  263.             /* [in] */ BSTR Usage,
  264.             /* [in] */ BSTR wszPKCS10FileName);
  265.         
  266.         HRESULT ( STDMETHODCALLTYPE *acceptFilePKCS7 )( 
  267.             ICEnroll4 * This,
  268.             /* [in] */ BSTR wszPKCS7FileName);
  269.         
  270.         HRESULT ( STDMETHODCALLTYPE *createPKCS10 )( 
  271.             ICEnroll4 * This,
  272.             /* [in] */ BSTR DNName,
  273.             /* [in] */ BSTR Usage,
  274.             /* [retval][out] */ BSTR *pPKCS10);
  275.         
  276.         HRESULT ( STDMETHODCALLTYPE *acceptPKCS7 )( 
  277.             ICEnroll4 * This,
  278.             /* [in] */ BSTR PKCS7);
  279.         
  280.         HRESULT ( STDMETHODCALLTYPE *getCertFromPKCS7 )( 
  281.             ICEnroll4 * This,
  282.             /* [in] */ BSTR wszPKCS7,
  283.             /* [retval][out] */ BSTR *pbstrCert);
  284.         
  285.         HRESULT ( STDMETHODCALLTYPE *enumProviders )( 
  286.             ICEnroll4 * This,
  287.             /* [in] */ LONG dwIndex,
  288.             /* [in] */ LONG dwFlags,
  289.             /* [retval][out] */ BSTR *pbstrProvName);
  290.         
  291.         HRESULT ( STDMETHODCALLTYPE *enumContainers )( 
  292.             ICEnroll4 * This,
  293.             /* [in] */ LONG dwIndex,
  294.             /* [retval][out] */ BSTR *pbstr);
  295.         
  296.         HRESULT ( STDMETHODCALLTYPE *freeRequestInfo )( 
  297.             ICEnroll4 * This,
  298.             /* [in] */ BSTR PKCS7OrPKCS10);
  299.         
  300.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MyStoreName )( 
  301.             ICEnroll4 * This,
  302.             /* [retval][out] */ BSTR *pbstrName);
  303.         
  304.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_MyStoreName )( 
  305.             ICEnroll4 * This,
  306.             /* [in] */ BSTR bstrName);
  307.         
  308.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MyStoreType )( 
  309.             ICEnroll4 * This,
  310.             /* [retval][out] */ BSTR *pbstrType);
  311.         
  312.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_MyStoreType )( 
  313.             ICEnroll4 * This,
  314.             /* [in] */ BSTR bstrType);
  315.         
  316.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MyStoreFlags )( 
  317.             ICEnroll4 * This,
  318.             /* [retval][out] */ LONG *pdwFlags);
  319.         
  320.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_MyStoreFlags )( 
  321.             ICEnroll4 * This,
  322.             /* [in] */ LONG dwFlags);
  323.         
  324.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CAStoreName )( 
  325.             ICEnroll4 * This,
  326.             /* [retval][out] */ BSTR *pbstrName);
  327.         
  328.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_CAStoreName )( 
  329.             ICEnroll4 * This,
  330.             /* [in] */ BSTR bstrName);
  331.         
  332.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CAStoreType )( 
  333.             ICEnroll4 * This,
  334.             /* [retval][out] */ BSTR *pbstrType);
  335.         
  336.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_CAStoreType )( 
  337.             ICEnroll4 * This,
  338.             /* [in] */ BSTR bstrType);
  339.         
  340.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CAStoreFlags )( 
  341.             ICEnroll4 * This,
  342.             /* [retval][out] */ LONG *pdwFlags);
  343.         
  344.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_CAStoreFlags )( 
  345.             ICEnroll4 * This,
  346.             /* [in] */ LONG dwFlags);
  347.         
  348.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RootStoreName )( 
  349.             ICEnroll4 * This,
  350.             /* [retval][out] */ BSTR *pbstrName);
  351.         
  352.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RootStoreName )( 
  353.             ICEnroll4 * This,
  354.             /* [in] */ BSTR bstrName);
  355.         
  356.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RootStoreType )( 
  357.             ICEnroll4 * This,
  358.             /* [retval][out] */ BSTR *pbstrType);
  359.         
  360.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RootStoreType )( 
  361.             ICEnroll4 * This,
  362.             /* [in] */ BSTR bstrType);
  363.         
  364.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RootStoreFlags )( 
  365.             ICEnroll4 * This,
  366.             /* [retval][out] */ LONG *pdwFlags);
  367.         
  368.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RootStoreFlags )( 
  369.             ICEnroll4 * This,
  370.             /* [in] */ LONG dwFlags);
  371.         
  372.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RequestStoreName )( 
  373.             ICEnroll4 * This,
  374.             /* [retval][out] */ BSTR *pbstrName);
  375.         
  376.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RequestStoreName )( 
  377.             ICEnroll4 * This,
  378.             /* [in] */ BSTR bstrName);
  379.         
  380.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RequestStoreType )( 
  381.             ICEnroll4 * This,
  382.             /* [retval][out] */ BSTR *pbstrType);
  383.         
  384.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RequestStoreType )( 
  385.             ICEnroll4 * This,
  386.             /* [in] */ BSTR bstrType);
  387.         
  388.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RequestStoreFlags )( 
  389.             ICEnroll4 * This,
  390.             /* [retval][out] */ LONG *pdwFlags);
  391.         
  392.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RequestStoreFlags )( 
  393.             ICEnroll4 * This,
  394.             /* [in] */ LONG dwFlags);
  395.         
  396.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ContainerName )( 
  397.             ICEnroll4 * This,
  398.             /* [retval][out] */ BSTR *pbstrContainer);
  399.         
  400.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ContainerName )( 
  401.             ICEnroll4 * This,
  402.             /* [in] */ BSTR bstrContainer);
  403.         
  404.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProviderName )( 
  405.             ICEnroll4 * This,
  406.             /* [retval][out] */ BSTR *pbstrProvider);
  407.         
  408.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ProviderName )( 
  409.             ICEnroll4 * This,
  410.             /* [in] */ BSTR bstrProvider);
  411.         
  412.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProviderType )( 
  413.             ICEnroll4 * This,
  414.             /* [retval][out] */ LONG *pdwType);
  415.         
  416.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ProviderType )( 
  417.             ICEnroll4 * This,
  418.             /* [in] */ LONG dwType);
  419.         
  420.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_KeySpec )( 
  421.             ICEnroll4 * This,
  422.             /* [retval][out] */ LONG *pdw);
  423.         
  424.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_KeySpec )( 
  425.             ICEnroll4 * This,
  426.             /* [in] */ LONG dw);
  427.         
  428.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProviderFlags )( 
  429.             ICEnroll4 * This,
  430.             /* [retval][out] */ LONG *pdwFlags);
  431.         
  432.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ProviderFlags )( 
  433.             ICEnroll4 * This,
  434.             /* [in] */ LONG dwFlags);
  435.         
  436.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_UseExistingKeySet )( 
  437.             ICEnroll4 * This,
  438.             /* [retval][out] */ BOOL *fUseExistingKeys);
  439.         
  440.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_UseExistingKeySet )( 
  441.             ICEnroll4 * This,
  442.             /* [in] */ BOOL fUseExistingKeys);
  443.         
  444.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_GenKeyFlags )( 
  445.             ICEnroll4 * This,
  446.             /* [retval][out] */ LONG *pdwFlags);
  447.         
  448.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_GenKeyFlags )( 
  449.             ICEnroll4 * This,
  450.             /* [in] */ LONG dwFlags);
  451.         
  452.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DeleteRequestCert )( 
  453.             ICEnroll4 * This,
  454.             /* [retval][out] */ BOOL *fDelete);
  455.         
  456.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DeleteRequestCert )( 
  457.             ICEnroll4 * This,
  458.             /* [in] */ BOOL fDelete);
  459.         
  460.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_WriteCertToCSP )( 
  461.             ICEnroll4 * This,
  462.             /* [retval][out] */ BOOL *fBool);
  463.         
  464.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_WriteCertToCSP )( 
  465.             ICEnroll4 * This,
  466.             /* [in] */ BOOL fBool);
  467.         
  468.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SPCFileName )( 
  469.             ICEnroll4 * This,
  470.             /* [retval][out] */ BSTR *pbstr);
  471.         
  472.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_SPCFileName )( 
  473.             ICEnroll4 * This,
  474.             /* [in] */ BSTR bstr);
  475.         
  476.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PVKFileName )( 
  477.             ICEnroll4 * This,
  478.             /* [retval][out] */ BSTR *pbstr);
  479.         
  480.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PVKFileName )( 
  481.             ICEnroll4 * This,
  482.             /* [in] */ BSTR bstr);
  483.         
  484.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HashAlgorithm )( 
  485.             ICEnroll4 * This,
  486.             /* [retval][out] */ BSTR *pbstr);
  487.         
  488.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_HashAlgorithm )( 
  489.             ICEnroll4 * This,
  490.             /* [in] */ BSTR bstr);
  491.         
  492.         HRESULT ( STDMETHODCALLTYPE *addCertTypeToRequest )( 
  493.             ICEnroll4 * This,
  494.             /* [in] */ BSTR CertType);
  495.         
  496.         HRESULT ( STDMETHODCALLTYPE *addNameValuePairToSignature )( 
  497.             ICEnroll4 * This,
  498.             /* [in] */ BSTR Name,
  499.             /* [in] */ BSTR Value);
  500.         
  501.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_WriteCertToUserDS )( 
  502.             ICEnroll4 * This,
  503.             /* [retval][out] */ BOOL *fBool);
  504.         
  505.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_WriteCertToUserDS )( 
  506.             ICEnroll4 * This,
  507.             /* [in] */ BOOL fBool);
  508.         
  509.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_EnableT61DNEncoding )( 
  510.             ICEnroll4 * This,
  511.             /* [retval][out] */ BOOL *fBool);
  512.         
  513.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_EnableT61DNEncoding )( 
  514.             ICEnroll4 * This,
  515.             /* [in] */ BOOL fBool);
  516.         
  517.         HRESULT ( STDMETHODCALLTYPE *InstallPKCS7 )( 
  518.             ICEnroll4 * This,
  519.             /* [in] */ BSTR PKCS7);
  520.         
  521.         HRESULT ( STDMETHODCALLTYPE *Reset )( 
  522.             ICEnroll4 * This);
  523.         
  524.         HRESULT ( STDMETHODCALLTYPE *GetSupportedKeySpec )( 
  525.             ICEnroll4 * This,
  526.             /* [retval][out] */ LONG *pdwKeySpec);
  527.         
  528.         HRESULT ( STDMETHODCALLTYPE *GetKeyLen )( 
  529.             ICEnroll4 * This,
  530.             /* [in] */ BOOL fMin,
  531.             /* [in] */ BOOL fExchange,
  532.             /* [retval][out] */ LONG *pdwKeySize);
  533.         
  534.         HRESULT ( STDMETHODCALLTYPE *EnumAlgs )( 
  535.             ICEnroll4 * This,
  536.             /* [in] */ LONG dwIndex,
  537.             /* [in] */ LONG algClass,
  538.             /* [retval][out] */ LONG *pdwAlgID);
  539.         
  540.         HRESULT ( STDMETHODCALLTYPE *GetAlgName )( 
  541.             ICEnroll4 * This,
  542.             /* [in] */ LONG algID,
  543.             /* [retval][out] */ BSTR *pbstr);
  544.         
  545.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ReuseHardwareKeyIfUnableToGenNew )( 
  546.             ICEnroll4 * This,
  547.             /* [in] */ BOOL fReuseHardwareKeyIfUnableToGenNew);
  548.         
  549.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ReuseHardwareKeyIfUnableToGenNew )( 
  550.             ICEnroll4 * This,
  551.             /* [retval][out] */ BOOL *fReuseHardwareKeyIfUnableToGenNew);
  552.         
  553.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_HashAlgID )( 
  554.             ICEnroll4 * This,
  555.             /* [in] */ LONG hashAlgID);
  556.         
  557.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HashAlgID )( 
  558.             ICEnroll4 * This,
  559.             /* [retval][out] */ LONG *hashAlgID);
  560.         
  561.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_LimitExchangeKeyToEncipherment )( 
  562.             ICEnroll4 * This,
  563.             /* [in] */ BOOL fLimitExchangeKeyToEncipherment);
  564.         
  565.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_LimitExchangeKeyToEncipherment )( 
  566.             ICEnroll4 * This,
  567.             /* [retval][out] */ BOOL *fLimitExchangeKeyToEncipherment);
  568.         
  569.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_EnableSMIMECapabilities )( 
  570.             ICEnroll4 * This,
  571.             /* [in] */ BOOL fEnableSMIMECapabilities);
  572.         
  573.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_EnableSMIMECapabilities )( 
  574.             ICEnroll4 * This,
  575.             /* [retval][out] */ BOOL *fEnableSMIMECapabilities);
  576.         
  577.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PrivateKeyArchiveCertificate )( 
  578.             ICEnroll4 * This,
  579.             /* [in] */ BSTR bstrCert);
  580.         
  581.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PrivateKeyArchiveCertificate )( 
  582.             ICEnroll4 * This,
  583.             /* [retval][out] */ BSTR *pbstrCert);
  584.         
  585.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ThumbPrint )( 
  586.             ICEnroll4 * This,
  587.             /* [in] */ BSTR bstrThumbPrint);
  588.         
  589.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ThumbPrint )( 
  590.             ICEnroll4 * This,
  591.             /* [retval][out] */ BSTR *pbstrThumbPrint);
  592.         
  593.         HRESULT ( STDMETHODCALLTYPE *binaryToString )( 
  594.             ICEnroll4 * This,
  595.             /* [in] */ LONG Flags,
  596.             /* [in] */ BSTR strBinary,
  597.             /* [retval][out] */ BSTR *pstrEncoded);
  598.         
  599.         HRESULT ( STDMETHODCALLTYPE *stringToBinary )( 
  600.             ICEnroll4 * This,
  601.             /* [in] */ LONG Flags,
  602.             /* [in] */ BSTR strEncoded,
  603.             /* [retval][out] */ BSTR *pstrBinary);
  604.         
  605.         HRESULT ( STDMETHODCALLTYPE *addExtensionToRequest )( 
  606.             ICEnroll4 * This,
  607.             /* [in] */ LONG Flags,
  608.             /* [in] */ BSTR strName,
  609.             /* [in] */ BSTR strValue);
  610.         
  611.         HRESULT ( STDMETHODCALLTYPE *addAttributeToRequest )( 
  612.             ICEnroll4 * This,
  613.             /* [in] */ LONG Flags,
  614.             /* [in] */ BSTR strName,
  615.             /* [in] */ BSTR strValue);
  616.         
  617.         HRESULT ( STDMETHODCALLTYPE *addNameValuePairToRequest )( 
  618.             ICEnroll4 * This,
  619.             /* [in] */ LONG Flags,
  620.             /* [in] */ BSTR strName,
  621.             /* [in] */ BSTR strValue);
  622.         
  623.         HRESULT ( STDMETHODCALLTYPE *resetExtensions )( 
  624.             ICEnroll4 * This);
  625.         
  626.         HRESULT ( STDMETHODCALLTYPE *resetAttributes )( 
  627.             ICEnroll4 * This);
  628.         
  629.         HRESULT ( STDMETHODCALLTYPE *createRequest )( 
  630.             ICEnroll4 * This,
  631.             /* [in] */ LONG Flags,
  632.             /* [in] */ BSTR strDNName,
  633.             /* [in] */ BSTR Usage,
  634.             /* [retval][out] */ BSTR *pstrRequest);
  635.         
  636.         HRESULT ( STDMETHODCALLTYPE *createFileRequest )( 
  637.             ICEnroll4 * This,
  638.             /* [in] */ LONG Flags,
  639.             /* [in] */ BSTR strDNName,
  640.             /* [in] */ BSTR strUsage,
  641.             /* [in] */ BSTR strRequestFileName);
  642.         
  643.         HRESULT ( STDMETHODCALLTYPE *acceptResponse )( 
  644.             ICEnroll4 * This,
  645.             /* [in] */ BSTR strResponse);
  646.         
  647.         HRESULT ( STDMETHODCALLTYPE *acceptFileResponse )( 
  648.             ICEnroll4 * This,
  649.             /* [in] */ BSTR strResponseFileName);
  650.         
  651.         HRESULT ( STDMETHODCALLTYPE *getCertFromResponse )( 
  652.             ICEnroll4 * This,
  653.             /* [in] */ BSTR strResponse,
  654.             /* [retval][out] */ BSTR *pstrCert);
  655.         
  656.         HRESULT ( STDMETHODCALLTYPE *getCertFromFileResponse )( 
  657.             ICEnroll4 * This,
  658.             /* [in] */ BSTR strResponseFileName,
  659.             /* [retval][out] */ BSTR *pstrCert);
  660.         
  661.         HRESULT ( STDMETHODCALLTYPE *createPFX )( 
  662.             ICEnroll4 * This,
  663.             /* [in] */ BSTR strPassword,
  664.             /* [retval][out] */ BSTR *pstrPFX);
  665.         
  666.         HRESULT ( STDMETHODCALLTYPE *createFilePFX )( 
  667.             ICEnroll4 * This,
  668.             /* [in] */ BSTR strPassword,
  669.             /* [in] */ BSTR strPFXFileName);
  670.         
  671.         HRESULT ( STDMETHODCALLTYPE *setPendingRequestInfo )( 
  672.             ICEnroll4 * This,
  673.             /* [in] */ LONG lRequestID,
  674.             /* [in] */ BSTR strCADNS,
  675.             /* [in] */ BSTR strCAName,
  676.             /* [in] */ BSTR strFriendlyName);
  677.         
  678.         HRESULT ( STDMETHODCALLTYPE *enumPendingRequest )( 
  679.             ICEnroll4 * This,
  680.             /* [in] */ LONG lIndex,
  681.             /* [in] */ LONG lDesiredProperty,
  682.             /* [retval][out] */ VARIANT *pvarProperty);
  683.         
  684.         HRESULT ( STDMETHODCALLTYPE *removePendingRequest )( 
  685.             ICEnroll4 * This,
  686.             /* [in] */ BSTR strThumbprint);
  687.         
  688.         HRESULT ( STDMETHODCALLTYPE *GetKeyLenEx )( 
  689.             ICEnroll4 * This,
  690.             /* [in] */ LONG lSizeSpec,
  691.             /* [in] */ LONG lKeySpec,
  692.             /* [retval][out] */ LONG *pdwKeySize);
  693.         
  694.         HRESULT ( STDMETHODCALLTYPE *InstallPKCS7Ex )( 
  695.             ICEnroll4 * This,
  696.             /* [in] */ BSTR PKCS7,
  697.             /* [retval][out] */ LONG *plCertInstalled);
  698.         
  699.         HRESULT ( STDMETHODCALLTYPE *addCertTypeToRequestEx )( 
  700.             ICEnroll4 * This,
  701.             /* [in] */ LONG lType,
  702.             /* [in] */ BSTR bstrOIDOrName,
  703.             /* [in] */ LONG lMajorVersion,
  704.             /* [in] */ BOOL fMinorVersion,
  705.             /* [in] */ LONG lMinorVersion);
  706.         
  707.         HRESULT ( STDMETHODCALLTYPE *getProviderType )( 
  708.             ICEnroll4 * This,
  709.             /* [in] */ BSTR strProvName,
  710.             /* [retval][out] */ LONG *plProvType);
  711.         
  712.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_SignerCertificate )( 
  713.             ICEnroll4 * This,
  714.             /* [in] */ BSTR bstrCert);
  715.         
  716.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ClientId )( 
  717.             ICEnroll4 * This,
  718.             /* [in] */ LONG lClientId);
  719.         
  720.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClientId )( 
  721.             ICEnroll4 * This,
  722.             /* [retval][out] */ LONG *plClientId);
  723.         
  724.         HRESULT ( STDMETHODCALLTYPE *addBlobPropertyToCertificate )( 
  725.             ICEnroll4 * This,
  726.             /* [in] */ LONG lPropertyId,
  727.             /* [in] */ LONG lReserved,
  728.             /* [in] */ BSTR bstrProperty);
  729.         
  730.         HRESULT ( STDMETHODCALLTYPE *resetBlobProperties )( 
  731.             ICEnroll4 * This);
  732.         
  733.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IncludeSubjectKeyID )( 
  734.             ICEnroll4 * This,
  735.             /* [in] */ BOOL fInclude);
  736.         
  737.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IncludeSubjectKeyID )( 
  738.             ICEnroll4 * This,
  739.             /* [retval][out] */ BOOL *pfInclude);
  740.         
  741.         END_INTERFACE
  742.     } ICEnroll4Vtbl;
  743.     interface ICEnroll4
  744.     {
  745.         CONST_VTBL struct ICEnroll4Vtbl *lpVtbl;
  746.     };
  747.     
  748. #ifdef COBJMACROS
  749. #define ICEnroll4_QueryInterface(This,riid,ppvObject)
  750.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  751. #define ICEnroll4_AddRef(This)
  752.     (This)->lpVtbl -> AddRef(This)
  753. #define ICEnroll4_Release(This)
  754.     (This)->lpVtbl -> Release(This)
  755. #define ICEnroll4_GetTypeInfoCount(This,pctinfo)
  756.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  757. #define ICEnroll4_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  758.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  759. #define ICEnroll4_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  760.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  761. #define ICEnroll4_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  762.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  763. #define ICEnroll4_createFilePKCS10(This,DNName,Usage,wszPKCS10FileName)
  764.     (This)->lpVtbl -> createFilePKCS10(This,DNName,Usage,wszPKCS10FileName)
  765. #define ICEnroll4_acceptFilePKCS7(This,wszPKCS7FileName)
  766.     (This)->lpVtbl -> acceptFilePKCS7(This,wszPKCS7FileName)
  767. #define ICEnroll4_createPKCS10(This,DNName,Usage,pPKCS10)
  768.     (This)->lpVtbl -> createPKCS10(This,DNName,Usage,pPKCS10)
  769. #define ICEnroll4_acceptPKCS7(This,PKCS7)
  770.     (This)->lpVtbl -> acceptPKCS7(This,PKCS7)
  771. #define ICEnroll4_getCertFromPKCS7(This,wszPKCS7,pbstrCert)
  772.     (This)->lpVtbl -> getCertFromPKCS7(This,wszPKCS7,pbstrCert)
  773. #define ICEnroll4_enumProviders(This,dwIndex,dwFlags,pbstrProvName)
  774.     (This)->lpVtbl -> enumProviders(This,dwIndex,dwFlags,pbstrProvName)
  775. #define ICEnroll4_enumContainers(This,dwIndex,pbstr)
  776.     (This)->lpVtbl -> enumContainers(This,dwIndex,pbstr)
  777. #define ICEnroll4_freeRequestInfo(This,PKCS7OrPKCS10)
  778.     (This)->lpVtbl -> freeRequestInfo(This,PKCS7OrPKCS10)
  779. #define ICEnroll4_get_MyStoreName(This,pbstrName)
  780.     (This)->lpVtbl -> get_MyStoreName(This,pbstrName)
  781. #define ICEnroll4_put_MyStoreName(This,bstrName)
  782.     (This)->lpVtbl -> put_MyStoreName(This,bstrName)
  783. #define ICEnroll4_get_MyStoreType(This,pbstrType)
  784.     (This)->lpVtbl -> get_MyStoreType(This,pbstrType)
  785. #define ICEnroll4_put_MyStoreType(This,bstrType)
  786.     (This)->lpVtbl -> put_MyStoreType(This,bstrType)
  787. #define ICEnroll4_get_MyStoreFlags(This,pdwFlags)
  788.     (This)->lpVtbl -> get_MyStoreFlags(This,pdwFlags)
  789. #define ICEnroll4_put_MyStoreFlags(This,dwFlags)
  790.     (This)->lpVtbl -> put_MyStoreFlags(This,dwFlags)
  791. #define ICEnroll4_get_CAStoreName(This,pbstrName)
  792.     (This)->lpVtbl -> get_CAStoreName(This,pbstrName)
  793. #define ICEnroll4_put_CAStoreName(This,bstrName)
  794.     (This)->lpVtbl -> put_CAStoreName(This,bstrName)
  795. #define ICEnroll4_get_CAStoreType(This,pbstrType)
  796.     (This)->lpVtbl -> get_CAStoreType(This,pbstrType)
  797. #define ICEnroll4_put_CAStoreType(This,bstrType)
  798.     (This)->lpVtbl -> put_CAStoreType(This,bstrType)
  799. #define ICEnroll4_get_CAStoreFlags(This,pdwFlags)
  800.     (This)->lpVtbl -> get_CAStoreFlags(This,pdwFlags)
  801. #define ICEnroll4_put_CAStoreFlags(This,dwFlags)
  802.     (This)->lpVtbl -> put_CAStoreFlags(This,dwFlags)
  803. #define ICEnroll4_get_RootStoreName(This,pbstrName)
  804.     (This)->lpVtbl -> get_RootStoreName(This,pbstrName)
  805. #define ICEnroll4_put_RootStoreName(This,bstrName)
  806.     (This)->lpVtbl -> put_RootStoreName(This,bstrName)
  807. #define ICEnroll4_get_RootStoreType(This,pbstrType)
  808.     (This)->lpVtbl -> get_RootStoreType(This,pbstrType)
  809. #define ICEnroll4_put_RootStoreType(This,bstrType)
  810.     (This)->lpVtbl -> put_RootStoreType(This,bstrType)
  811. #define ICEnroll4_get_RootStoreFlags(This,pdwFlags)
  812.     (This)->lpVtbl -> get_RootStoreFlags(This,pdwFlags)
  813. #define ICEnroll4_put_RootStoreFlags(This,dwFlags)
  814.     (This)->lpVtbl -> put_RootStoreFlags(This,dwFlags)
  815. #define ICEnroll4_get_RequestStoreName(This,pbstrName)
  816.     (This)->lpVtbl -> get_RequestStoreName(This,pbstrName)
  817. #define ICEnroll4_put_RequestStoreName(This,bstrName)
  818.     (This)->lpVtbl -> put_RequestStoreName(This,bstrName)
  819. #define ICEnroll4_get_RequestStoreType(This,pbstrType)
  820.     (This)->lpVtbl -> get_RequestStoreType(This,pbstrType)
  821. #define ICEnroll4_put_RequestStoreType(This,bstrType)
  822.     (This)->lpVtbl -> put_RequestStoreType(This,bstrType)
  823. #define ICEnroll4_get_RequestStoreFlags(This,pdwFlags)
  824.     (This)->lpVtbl -> get_RequestStoreFlags(This,pdwFlags)
  825. #define ICEnroll4_put_RequestStoreFlags(This,dwFlags)
  826.     (This)->lpVtbl -> put_RequestStoreFlags(This,dwFlags)
  827. #define ICEnroll4_get_ContainerName(This,pbstrContainer)
  828.     (This)->lpVtbl -> get_ContainerName(This,pbstrContainer)
  829. #define ICEnroll4_put_ContainerName(This,bstrContainer)
  830.     (This)->lpVtbl -> put_ContainerName(This,bstrContainer)
  831. #define ICEnroll4_get_ProviderName(This,pbstrProvider)
  832.     (This)->lpVtbl -> get_ProviderName(This,pbstrProvider)
  833. #define ICEnroll4_put_ProviderName(This,bstrProvider)
  834.     (This)->lpVtbl -> put_ProviderName(This,bstrProvider)
  835. #define ICEnroll4_get_ProviderType(This,pdwType)
  836.     (This)->lpVtbl -> get_ProviderType(This,pdwType)
  837. #define ICEnroll4_put_ProviderType(This,dwType)
  838.     (This)->lpVtbl -> put_ProviderType(This,dwType)
  839. #define ICEnroll4_get_KeySpec(This,pdw)
  840.     (This)->lpVtbl -> get_KeySpec(This,pdw)
  841. #define ICEnroll4_put_KeySpec(This,dw)
  842.     (This)->lpVtbl -> put_KeySpec(This,dw)
  843. #define ICEnroll4_get_ProviderFlags(This,pdwFlags)
  844.     (This)->lpVtbl -> get_ProviderFlags(This,pdwFlags)
  845. #define ICEnroll4_put_ProviderFlags(This,dwFlags)
  846.     (This)->lpVtbl -> put_ProviderFlags(This,dwFlags)
  847. #define ICEnroll4_get_UseExistingKeySet(This,fUseExistingKeys)
  848.     (This)->lpVtbl -> get_UseExistingKeySet(This,fUseExistingKeys)
  849. #define ICEnroll4_put_UseExistingKeySet(This,fUseExistingKeys)
  850.     (This)->lpVtbl -> put_UseExistingKeySet(This,fUseExistingKeys)
  851. #define ICEnroll4_get_GenKeyFlags(This,pdwFlags)
  852.     (This)->lpVtbl -> get_GenKeyFlags(This,pdwFlags)
  853. #define ICEnroll4_put_GenKeyFlags(This,dwFlags)
  854.     (This)->lpVtbl -> put_GenKeyFlags(This,dwFlags)
  855. #define ICEnroll4_get_DeleteRequestCert(This,fDelete)
  856.     (This)->lpVtbl -> get_DeleteRequestCert(This,fDelete)
  857. #define ICEnroll4_put_DeleteRequestCert(This,fDelete)
  858.     (This)->lpVtbl -> put_DeleteRequestCert(This,fDelete)
  859. #define ICEnroll4_get_WriteCertToCSP(This,fBool)
  860.     (This)->lpVtbl -> get_WriteCertToCSP(This,fBool)
  861. #define ICEnroll4_put_WriteCertToCSP(This,fBool)
  862.     (This)->lpVtbl -> put_WriteCertToCSP(This,fBool)
  863. #define ICEnroll4_get_SPCFileName(This,pbstr)
  864.     (This)->lpVtbl -> get_SPCFileName(This,pbstr)
  865. #define ICEnroll4_put_SPCFileName(This,bstr)
  866.     (This)->lpVtbl -> put_SPCFileName(This,bstr)
  867. #define ICEnroll4_get_PVKFileName(This,pbstr)
  868.     (This)->lpVtbl -> get_PVKFileName(This,pbstr)
  869. #define ICEnroll4_put_PVKFileName(This,bstr)
  870.     (This)->lpVtbl -> put_PVKFileName(This,bstr)
  871. #define ICEnroll4_get_HashAlgorithm(This,pbstr)
  872.     (This)->lpVtbl -> get_HashAlgorithm(This,pbstr)
  873. #define ICEnroll4_put_HashAlgorithm(This,bstr)
  874.     (This)->lpVtbl -> put_HashAlgorithm(This,bstr)
  875. #define ICEnroll4_addCertTypeToRequest(This,CertType)
  876.     (This)->lpVtbl -> addCertTypeToRequest(This,CertType)
  877. #define ICEnroll4_addNameValuePairToSignature(This,Name,Value)
  878.     (This)->lpVtbl -> addNameValuePairToSignature(This,Name,Value)
  879. #define ICEnroll4_get_WriteCertToUserDS(This,fBool)
  880.     (This)->lpVtbl -> get_WriteCertToUserDS(This,fBool)
  881. #define ICEnroll4_put_WriteCertToUserDS(This,fBool)
  882.     (This)->lpVtbl -> put_WriteCertToUserDS(This,fBool)
  883. #define ICEnroll4_get_EnableT61DNEncoding(This,fBool)
  884.     (This)->lpVtbl -> get_EnableT61DNEncoding(This,fBool)
  885. #define ICEnroll4_put_EnableT61DNEncoding(This,fBool)
  886.     (This)->lpVtbl -> put_EnableT61DNEncoding(This,fBool)
  887. #define ICEnroll4_InstallPKCS7(This,PKCS7)
  888.     (This)->lpVtbl -> InstallPKCS7(This,PKCS7)
  889. #define ICEnroll4_Reset(This)
  890.     (This)->lpVtbl -> Reset(This)
  891. #define ICEnroll4_GetSupportedKeySpec(This,pdwKeySpec)
  892.     (This)->lpVtbl -> GetSupportedKeySpec(This,pdwKeySpec)
  893. #define ICEnroll4_GetKeyLen(This,fMin,fExchange,pdwKeySize)
  894.     (This)->lpVtbl -> GetKeyLen(This,fMin,fExchange,pdwKeySize)
  895. #define ICEnroll4_EnumAlgs(This,dwIndex,algClass,pdwAlgID)
  896.     (This)->lpVtbl -> EnumAlgs(This,dwIndex,algClass,pdwAlgID)
  897. #define ICEnroll4_GetAlgName(This,algID,pbstr)
  898.     (This)->lpVtbl -> GetAlgName(This,algID,pbstr)
  899. #define ICEnroll4_put_ReuseHardwareKeyIfUnableToGenNew(This,fReuseHardwareKeyIfUnableToGenNew)
  900.     (This)->lpVtbl -> put_ReuseHardwareKeyIfUnableToGenNew(This,fReuseHardwareKeyIfUnableToGenNew)
  901. #define ICEnroll4_get_ReuseHardwareKeyIfUnableToGenNew(This,fReuseHardwareKeyIfUnableToGenNew)
  902.     (This)->lpVtbl -> get_ReuseHardwareKeyIfUnableToGenNew(This,fReuseHardwareKeyIfUnableToGenNew)
  903. #define ICEnroll4_put_HashAlgID(This,hashAlgID)
  904.     (This)->lpVtbl -> put_HashAlgID(This,hashAlgID)
  905. #define ICEnroll4_get_HashAlgID(This,hashAlgID)
  906.     (This)->lpVtbl -> get_HashAlgID(This,hashAlgID)
  907. #define ICEnroll4_put_LimitExchangeKeyToEncipherment(This,fLimitExchangeKeyToEncipherment)
  908.     (This)->lpVtbl -> put_LimitExchangeKeyToEncipherment(This,fLimitExchangeKeyToEncipherment)
  909. #define ICEnroll4_get_LimitExchangeKeyToEncipherment(This,fLimitExchangeKeyToEncipherment)
  910.     (This)->lpVtbl -> get_LimitExchangeKeyToEncipherment(This,fLimitExchangeKeyToEncipherment)
  911. #define ICEnroll4_put_EnableSMIMECapabilities(This,fEnableSMIMECapabilities)
  912.     (This)->lpVtbl -> put_EnableSMIMECapabilities(This,fEnableSMIMECapabilities)
  913. #define ICEnroll4_get_EnableSMIMECapabilities(This,fEnableSMIMECapabilities)
  914.     (This)->lpVtbl -> get_EnableSMIMECapabilities(This,fEnableSMIMECapabilities)
  915. #define ICEnroll4_put_PrivateKeyArchiveCertificate(This,bstrCert)
  916.     (This)->lpVtbl -> put_PrivateKeyArchiveCertificate(This,bstrCert)
  917. #define ICEnroll4_get_PrivateKeyArchiveCertificate(This,pbstrCert)
  918.     (This)->lpVtbl -> get_PrivateKeyArchiveCertificate(This,pbstrCert)
  919. #define ICEnroll4_put_ThumbPrint(This,bstrThumbPrint)
  920.     (This)->lpVtbl -> put_ThumbPrint(This,bstrThumbPrint)
  921. #define ICEnroll4_get_ThumbPrint(This,pbstrThumbPrint)
  922.     (This)->lpVtbl -> get_ThumbPrint(This,pbstrThumbPrint)
  923. #define ICEnroll4_binaryToString(This,Flags,strBinary,pstrEncoded)
  924.     (This)->lpVtbl -> binaryToString(This,Flags,strBinary,pstrEncoded)
  925. #define ICEnroll4_stringToBinary(This,Flags,strEncoded,pstrBinary)
  926.     (This)->lpVtbl -> stringToBinary(This,Flags,strEncoded,pstrBinary)
  927. #define ICEnroll4_addExtensionToRequest(This,Flags,strName,strValue)
  928.     (This)->lpVtbl -> addExtensionToRequest(This,Flags,strName,strValue)
  929. #define ICEnroll4_addAttributeToRequest(This,Flags,strName,strValue)
  930.     (This)->lpVtbl -> addAttributeToRequest(This,Flags,strName,strValue)
  931. #define ICEnroll4_addNameValuePairToRequest(This,Flags,strName,strValue)
  932.     (This)->lpVtbl -> addNameValuePairToRequest(This,Flags,strName,strValue)
  933. #define ICEnroll4_resetExtensions(This)
  934.     (This)->lpVtbl -> resetExtensions(This)
  935. #define ICEnroll4_resetAttributes(This)
  936.     (This)->lpVtbl -> resetAttributes(This)
  937. #define ICEnroll4_createRequest(This,Flags,strDNName,Usage,pstrRequest)
  938.     (This)->lpVtbl -> createRequest(This,Flags,strDNName,Usage,pstrRequest)
  939. #define ICEnroll4_createFileRequest(This,Flags,strDNName,strUsage,strRequestFileName)
  940.     (This)->lpVtbl -> createFileRequest(This,Flags,strDNName,strUsage,strRequestFileName)
  941. #define ICEnroll4_acceptResponse(This,strResponse)
  942.     (This)->lpVtbl -> acceptResponse(This,strResponse)
  943. #define ICEnroll4_acceptFileResponse(This,strResponseFileName)
  944.     (This)->lpVtbl -> acceptFileResponse(This,strResponseFileName)
  945. #define ICEnroll4_getCertFromResponse(This,strResponse,pstrCert)
  946.     (This)->lpVtbl -> getCertFromResponse(This,strResponse,pstrCert)
  947. #define ICEnroll4_getCertFromFileResponse(This,strResponseFileName,pstrCert)
  948.     (This)->lpVtbl -> getCertFromFileResponse(This,strResponseFileName,pstrCert)
  949. #define ICEnroll4_createPFX(This,strPassword,pstrPFX)
  950.     (This)->lpVtbl -> createPFX(This,strPassword,pstrPFX)
  951. #define ICEnroll4_createFilePFX(This,strPassword,strPFXFileName)
  952.     (This)->lpVtbl -> createFilePFX(This,strPassword,strPFXFileName)
  953. #define ICEnroll4_setPendingRequestInfo(This,lRequestID,strCADNS,strCAName,strFriendlyName)
  954.     (This)->lpVtbl -> setPendingRequestInfo(This,lRequestID,strCADNS,strCAName,strFriendlyName)
  955. #define ICEnroll4_enumPendingRequest(This,lIndex,lDesiredProperty,pvarProperty)
  956.     (This)->lpVtbl -> enumPendingRequest(This,lIndex,lDesiredProperty,pvarProperty)
  957. #define ICEnroll4_removePendingRequest(This,strThumbprint)
  958.     (This)->lpVtbl -> removePendingRequest(This,strThumbprint)
  959. #define ICEnroll4_GetKeyLenEx(This,lSizeSpec,lKeySpec,pdwKeySize)
  960.     (This)->lpVtbl -> GetKeyLenEx(This,lSizeSpec,lKeySpec,pdwKeySize)
  961. #define ICEnroll4_InstallPKCS7Ex(This,PKCS7,plCertInstalled)
  962.     (This)->lpVtbl -> InstallPKCS7Ex(This,PKCS7,plCertInstalled)
  963. #define ICEnroll4_addCertTypeToRequestEx(This,lType,bstrOIDOrName,lMajorVersion,fMinorVersion,lMinorVersion)
  964.     (This)->lpVtbl -> addCertTypeToRequestEx(This,lType,bstrOIDOrName,lMajorVersion,fMinorVersion,lMinorVersion)
  965. #define ICEnroll4_getProviderType(This,strProvName,plProvType)
  966.     (This)->lpVtbl -> getProviderType(This,strProvName,plProvType)
  967. #define ICEnroll4_put_SignerCertificate(This,bstrCert)
  968.     (This)->lpVtbl -> put_SignerCertificate(This,bstrCert)
  969. #define ICEnroll4_put_ClientId(This,lClientId)
  970.     (This)->lpVtbl -> put_ClientId(This,lClientId)
  971. #define ICEnroll4_get_ClientId(This,plClientId)
  972.     (This)->lpVtbl -> get_ClientId(This,plClientId)
  973. #define ICEnroll4_addBlobPropertyToCertificate(This,lPropertyId,lReserved,bstrProperty)
  974.     (This)->lpVtbl -> addBlobPropertyToCertificate(This,lPropertyId,lReserved,bstrProperty)
  975. #define ICEnroll4_resetBlobProperties(This)
  976.     (This)->lpVtbl -> resetBlobProperties(This)
  977. #define ICEnroll4_put_IncludeSubjectKeyID(This,fInclude)
  978.     (This)->lpVtbl -> put_IncludeSubjectKeyID(This,fInclude)
  979. #define ICEnroll4_get_IncludeSubjectKeyID(This,pfInclude)
  980.     (This)->lpVtbl -> get_IncludeSubjectKeyID(This,pfInclude)
  981. #endif /* COBJMACROS */
  982. #endif  /* C style interface */
  983. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll4_put_PrivateKeyArchiveCertificate_Proxy( 
  984.     ICEnroll4 * This,
  985.     /* [in] */ BSTR bstrCert);
  986. void __RPC_STUB ICEnroll4_put_PrivateKeyArchiveCertificate_Stub(
  987.     IRpcStubBuffer *This,
  988.     IRpcChannelBuffer *_pRpcChannelBuffer,
  989.     PRPC_MESSAGE _pRpcMessage,
  990.     DWORD *_pdwStubPhase);
  991. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll4_get_PrivateKeyArchiveCertificate_Proxy( 
  992.     ICEnroll4 * This,
  993.     /* [retval][out] */ BSTR *pbstrCert);
  994. void __RPC_STUB ICEnroll4_get_PrivateKeyArchiveCertificate_Stub(
  995.     IRpcStubBuffer *This,
  996.     IRpcChannelBuffer *_pRpcChannelBuffer,
  997.     PRPC_MESSAGE _pRpcMessage,
  998.     DWORD *_pdwStubPhase);
  999. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll4_put_ThumbPrint_Proxy( 
  1000.     ICEnroll4 * This,
  1001.     /* [in] */ BSTR bstrThumbPrint);
  1002. void __RPC_STUB ICEnroll4_put_ThumbPrint_Stub(
  1003.     IRpcStubBuffer *This,
  1004.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1005.     PRPC_MESSAGE _pRpcMessage,
  1006.     DWORD *_pdwStubPhase);
  1007. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll4_get_ThumbPrint_Proxy( 
  1008.     ICEnroll4 * This,
  1009.     /* [retval][out] */ BSTR *pbstrThumbPrint);
  1010. void __RPC_STUB ICEnroll4_get_ThumbPrint_Stub(
  1011.     IRpcStubBuffer *This,
  1012.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1013.     PRPC_MESSAGE _pRpcMessage,
  1014.     DWORD *_pdwStubPhase);
  1015. HRESULT STDMETHODCALLTYPE ICEnroll4_binaryToString_Proxy( 
  1016.     ICEnroll4 * This,
  1017.     /* [in] */ LONG Flags,
  1018.     /* [in] */ BSTR strBinary,
  1019.     /* [retval][out] */ BSTR *pstrEncoded);
  1020. void __RPC_STUB ICEnroll4_binaryToString_Stub(
  1021.     IRpcStubBuffer *This,
  1022.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1023.     PRPC_MESSAGE _pRpcMessage,
  1024.     DWORD *_pdwStubPhase);
  1025. HRESULT STDMETHODCALLTYPE ICEnroll4_stringToBinary_Proxy( 
  1026.     ICEnroll4 * This,
  1027.     /* [in] */ LONG Flags,
  1028.     /* [in] */ BSTR strEncoded,
  1029.     /* [retval][out] */ BSTR *pstrBinary);
  1030. void __RPC_STUB ICEnroll4_stringToBinary_Stub(
  1031.     IRpcStubBuffer *This,
  1032.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1033.     PRPC_MESSAGE _pRpcMessage,
  1034.     DWORD *_pdwStubPhase);
  1035. HRESULT STDMETHODCALLTYPE ICEnroll4_addExtensionToRequest_Proxy( 
  1036.     ICEnroll4 * This,
  1037.     /* [in] */ LONG Flags,
  1038.     /* [in] */ BSTR strName,
  1039.     /* [in] */ BSTR strValue);
  1040. void __RPC_STUB ICEnroll4_addExtensionToRequest_Stub(
  1041.     IRpcStubBuffer *This,
  1042.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1043.     PRPC_MESSAGE _pRpcMessage,
  1044.     DWORD *_pdwStubPhase);
  1045. HRESULT STDMETHODCALLTYPE ICEnroll4_addAttributeToRequest_Proxy( 
  1046.     ICEnroll4 * This,
  1047.     /* [in] */ LONG Flags,
  1048.     /* [in] */ BSTR strName,
  1049.     /* [in] */ BSTR strValue);
  1050. void __RPC_STUB ICEnroll4_addAttributeToRequest_Stub(
  1051.     IRpcStubBuffer *This,
  1052.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1053.     PRPC_MESSAGE _pRpcMessage,
  1054.     DWORD *_pdwStubPhase);
  1055. HRESULT STDMETHODCALLTYPE ICEnroll4_addNameValuePairToRequest_Proxy( 
  1056.     ICEnroll4 * This,
  1057.     /* [in] */ LONG Flags,
  1058.     /* [in] */ BSTR strName,
  1059.     /* [in] */ BSTR strValue);
  1060. void __RPC_STUB ICEnroll4_addNameValuePairToRequest_Stub(
  1061.     IRpcStubBuffer *This,
  1062.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1063.     PRPC_MESSAGE _pRpcMessage,
  1064.     DWORD *_pdwStubPhase);
  1065. HRESULT STDMETHODCALLTYPE ICEnroll4_resetExtensions_Proxy( 
  1066.     ICEnroll4 * This);
  1067. void __RPC_STUB ICEnroll4_resetExtensions_Stub(
  1068.     IRpcStubBuffer *This,
  1069.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1070.     PRPC_MESSAGE _pRpcMessage,
  1071.     DWORD *_pdwStubPhase);
  1072. HRESULT STDMETHODCALLTYPE ICEnroll4_resetAttributes_Proxy( 
  1073.     ICEnroll4 * This);
  1074. void __RPC_STUB ICEnroll4_resetAttributes_Stub(
  1075.     IRpcStubBuffer *This,
  1076.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1077.     PRPC_MESSAGE _pRpcMessage,
  1078.     DWORD *_pdwStubPhase);
  1079. HRESULT STDMETHODCALLTYPE ICEnroll4_createRequest_Proxy( 
  1080.     ICEnroll4 * This,
  1081.     /* [in] */ LONG Flags,
  1082.     /* [in] */ BSTR strDNName,
  1083.     /* [in] */ BSTR Usage,
  1084.     /* [retval][out] */ BSTR *pstrRequest);
  1085. void __RPC_STUB ICEnroll4_createRequest_Stub(
  1086.     IRpcStubBuffer *This,
  1087.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1088.     PRPC_MESSAGE _pRpcMessage,
  1089.     DWORD *_pdwStubPhase);
  1090. HRESULT STDMETHODCALLTYPE ICEnroll4_createFileRequest_Proxy( 
  1091.     ICEnroll4 * This,
  1092.     /* [in] */ LONG Flags,
  1093.     /* [in] */ BSTR strDNName,
  1094.     /* [in] */ BSTR strUsage,
  1095.     /* [in] */ BSTR strRequestFileName);
  1096. void __RPC_STUB ICEnroll4_createFileRequest_Stub(
  1097.     IRpcStubBuffer *This,
  1098.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1099.     PRPC_MESSAGE _pRpcMessage,
  1100.     DWORD *_pdwStubPhase);
  1101. HRESULT STDMETHODCALLTYPE ICEnroll4_acceptResponse_Proxy( 
  1102.     ICEnroll4 * This,
  1103.     /* [in] */ BSTR strResponse);
  1104. void __RPC_STUB ICEnroll4_acceptResponse_Stub(
  1105.     IRpcStubBuffer *This,
  1106.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1107.     PRPC_MESSAGE _pRpcMessage,
  1108.     DWORD *_pdwStubPhase);
  1109. HRESULT STDMETHODCALLTYPE ICEnroll4_acceptFileResponse_Proxy( 
  1110.     ICEnroll4 * This,
  1111.     /* [in] */ BSTR strResponseFileName);
  1112. void __RPC_STUB ICEnroll4_acceptFileResponse_Stub(
  1113.     IRpcStubBuffer *This,
  1114.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1115.     PRPC_MESSAGE _pRpcMessage,
  1116.     DWORD *_pdwStubPhase);
  1117. HRESULT STDMETHODCALLTYPE ICEnroll4_getCertFromResponse_Proxy( 
  1118.     ICEnroll4 * This,
  1119.     /* [in] */ BSTR strResponse,
  1120.     /* [retval][out] */ BSTR *pstrCert);
  1121. void __RPC_STUB ICEnroll4_getCertFromResponse_Stub(
  1122.     IRpcStubBuffer *This,
  1123.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1124.     PRPC_MESSAGE _pRpcMessage,
  1125.     DWORD *_pdwStubPhase);
  1126. HRESULT STDMETHODCALLTYPE ICEnroll4_getCertFromFileResponse_Proxy( 
  1127.     ICEnroll4 * This,
  1128.     /* [in] */ BSTR strResponseFileName,
  1129.     /* [retval][out] */ BSTR *pstrCert);
  1130. void __RPC_STUB ICEnroll4_getCertFromFileResponse_Stub(
  1131.     IRpcStubBuffer *This,
  1132.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1133.     PRPC_MESSAGE _pRpcMessage,
  1134.     DWORD *_pdwStubPhase);
  1135. HRESULT STDMETHODCALLTYPE ICEnroll4_createPFX_Proxy( 
  1136.     ICEnroll4 * This,
  1137.     /* [in] */ BSTR strPassword,
  1138.     /* [retval][out] */ BSTR *pstrPFX);
  1139. void __RPC_STUB ICEnroll4_createPFX_Stub(
  1140.     IRpcStubBuffer *This,
  1141.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1142.     PRPC_MESSAGE _pRpcMessage,
  1143.     DWORD *_pdwStubPhase);
  1144. HRESULT STDMETHODCALLTYPE ICEnroll4_createFilePFX_Proxy( 
  1145.     ICEnroll4 * This,
  1146.     /* [in] */ BSTR strPassword,
  1147.     /* [in] */ BSTR strPFXFileName);
  1148. void __RPC_STUB ICEnroll4_createFilePFX_Stub(
  1149.     IRpcStubBuffer *This,
  1150.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1151.     PRPC_MESSAGE _pRpcMessage,
  1152.     DWORD *_pdwStubPhase);
  1153. HRESULT STDMETHODCALLTYPE ICEnroll4_setPendingRequestInfo_Proxy( 
  1154.     ICEnroll4 * This,
  1155.     /* [in] */ LONG lRequestID,
  1156.     /* [in] */ BSTR strCADNS,
  1157.     /* [in] */ BSTR strCAName,
  1158.     /* [in] */ BSTR strFriendlyName);
  1159. void __RPC_STUB ICEnroll4_setPendingRequestInfo_Stub(
  1160.     IRpcStubBuffer *This,
  1161.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1162.     PRPC_MESSAGE _pRpcMessage,
  1163.     DWORD *_pdwStubPhase);
  1164. HRESULT STDMETHODCALLTYPE ICEnroll4_enumPendingRequest_Proxy( 
  1165.     ICEnroll4 * This,
  1166.     /* [in] */ LONG lIndex,
  1167.     /* [in] */ LONG lDesiredProperty,
  1168.     /* [retval][out] */ VARIANT *pvarProperty);
  1169. void __RPC_STUB ICEnroll4_enumPendingRequest_Stub(
  1170.     IRpcStubBuffer *This,
  1171.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1172.     PRPC_MESSAGE _pRpcMessage,
  1173.     DWORD *_pdwStubPhase);
  1174. HRESULT STDMETHODCALLTYPE ICEnroll4_removePendingRequest_Proxy( 
  1175.     ICEnroll4 * This,
  1176.     /* [in] */ BSTR strThumbprint);
  1177. void __RPC_STUB ICEnroll4_removePendingRequest_Stub(
  1178.     IRpcStubBuffer *This,
  1179.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1180.     PRPC_MESSAGE _pRpcMessage,
  1181.     DWORD *_pdwStubPhase);
  1182. HRESULT STDMETHODCALLTYPE ICEnroll4_GetKeyLenEx_Proxy( 
  1183.     ICEnroll4 * This,
  1184.     /* [in] */ LONG lSizeSpec,
  1185.     /* [in] */ LONG lKeySpec,
  1186.     /* [retval][out] */ LONG *pdwKeySize);
  1187. void __RPC_STUB ICEnroll4_GetKeyLenEx_Stub(
  1188.     IRpcStubBuffer *This,
  1189.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1190.     PRPC_MESSAGE _pRpcMessage,
  1191.     DWORD *_pdwStubPhase);
  1192. HRESULT STDMETHODCALLTYPE ICEnroll4_InstallPKCS7Ex_Proxy( 
  1193.     ICEnroll4 * This,
  1194.     /* [in] */ BSTR PKCS7,
  1195.     /* [retval][out] */ LONG *plCertInstalled);
  1196. void __RPC_STUB ICEnroll4_InstallPKCS7Ex_Stub(
  1197.     IRpcStubBuffer *This,
  1198.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1199.     PRPC_MESSAGE _pRpcMessage,
  1200.     DWORD *_pdwStubPhase);
  1201. HRESULT STDMETHODCALLTYPE ICEnroll4_addCertTypeToRequestEx_Proxy( 
  1202.     ICEnroll4 * This,
  1203.     /* [in] */ LONG lType,
  1204.     /* [in] */ BSTR bstrOIDOrName,
  1205.     /* [in] */ LONG lMajorVersion,
  1206.     /* [in] */ BOOL fMinorVersion,
  1207.     /* [in] */ LONG lMinorVersion);
  1208. void __RPC_STUB ICEnroll4_addCertTypeToRequestEx_Stub(
  1209.     IRpcStubBuffer *This,
  1210.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1211.     PRPC_MESSAGE _pRpcMessage,
  1212.     DWORD *_pdwStubPhase);
  1213. HRESULT STDMETHODCALLTYPE ICEnroll4_getProviderType_Proxy( 
  1214.     ICEnroll4 * This,
  1215.     /* [in] */ BSTR strProvName,
  1216.     /* [retval][out] */ LONG *plProvType);
  1217. void __RPC_STUB ICEnroll4_getProviderType_Stub(
  1218.     IRpcStubBuffer *This,
  1219.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1220.     PRPC_MESSAGE _pRpcMessage,
  1221.     DWORD *_pdwStubPhase);
  1222. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll4_put_SignerCertificate_Proxy( 
  1223.     ICEnroll4 * This,
  1224.     /* [in] */ BSTR bstrCert);
  1225. void __RPC_STUB ICEnroll4_put_SignerCertificate_Stub(
  1226.     IRpcStubBuffer *This,
  1227.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1228.     PRPC_MESSAGE _pRpcMessage,
  1229.     DWORD *_pdwStubPhase);
  1230. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll4_put_ClientId_Proxy( 
  1231.     ICEnroll4 * This,
  1232.     /* [in] */ LONG lClientId);
  1233. void __RPC_STUB ICEnroll4_put_ClientId_Stub(
  1234.     IRpcStubBuffer *This,
  1235.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1236.     PRPC_MESSAGE _pRpcMessage,
  1237.     DWORD *_pdwStubPhase);
  1238. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll4_get_ClientId_Proxy( 
  1239.     ICEnroll4 * This,
  1240.     /* [retval][out] */ LONG *plClientId);
  1241. void __RPC_STUB ICEnroll4_get_ClientId_Stub(
  1242.     IRpcStubBuffer *This,
  1243.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1244.     PRPC_MESSAGE _pRpcMessage,
  1245.     DWORD *_pdwStubPhase);
  1246. HRESULT STDMETHODCALLTYPE ICEnroll4_addBlobPropertyToCertificate_Proxy( 
  1247.     ICEnroll4 * This,
  1248.     /* [in] */ LONG lPropertyId,
  1249.     /* [in] */ LONG lReserved,
  1250.     /* [in] */ BSTR bstrProperty);
  1251. void __RPC_STUB ICEnroll4_addBlobPropertyToCertificate_Stub(
  1252.     IRpcStubBuffer *This,
  1253.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1254.     PRPC_MESSAGE _pRpcMessage,
  1255.     DWORD *_pdwStubPhase);
  1256. HRESULT STDMETHODCALLTYPE ICEnroll4_resetBlobProperties_Proxy( 
  1257.     ICEnroll4 * This);
  1258. void __RPC_STUB ICEnroll4_resetBlobProperties_Stub(
  1259.     IRpcStubBuffer *This,
  1260.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1261.     PRPC_MESSAGE _pRpcMessage,
  1262.     DWORD *_pdwStubPhase);
  1263. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll4_put_IncludeSubjectKeyID_Proxy( 
  1264.     ICEnroll4 * This,
  1265.     /* [in] */ BOOL fInclude);
  1266. void __RPC_STUB ICEnroll4_put_IncludeSubjectKeyID_Stub(
  1267.     IRpcStubBuffer *This,
  1268.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1269.     PRPC_MESSAGE _pRpcMessage,
  1270.     DWORD *_pdwStubPhase);
  1271. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll4_get_IncludeSubjectKeyID_Proxy( 
  1272.     ICEnroll4 * This,
  1273.     /* [retval][out] */ BOOL *pfInclude);
  1274. void __RPC_STUB ICEnroll4_get_IncludeSubjectKeyID_Stub(
  1275.     IRpcStubBuffer *This,
  1276.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1277.     PRPC_MESSAGE _pRpcMessage,
  1278.     DWORD *_pdwStubPhase);
  1279. #endif  /* __ICEnroll4_INTERFACE_DEFINED__ */
  1280. #ifndef __IEnroll_INTERFACE_DEFINED__
  1281. #define __IEnroll_INTERFACE_DEFINED__
  1282. /* interface IEnroll */
  1283. /* [unique][helpstring][local][uuid][object] */ 
  1284. EXTERN_C const IID IID_IEnroll;
  1285. #if defined(__cplusplus) && !defined(CINTERFACE)
  1286.     
  1287.     MIDL_INTERFACE("acaa7838-4585-11d1-ab57-00c04fc295e1")
  1288.     IEnroll : public IUnknown
  1289.     {
  1290.     public:
  1291.         virtual HRESULT STDMETHODCALLTYPE createFilePKCS10WStr( 
  1292.             /* [in] */ LPCWSTR DNName,
  1293.             /* [in] */ LPCWSTR Usage,
  1294.             /* [in] */ LPCWSTR wszPKCS10FileName) = 0;
  1295.         
  1296.         virtual HRESULT STDMETHODCALLTYPE acceptFilePKCS7WStr( 
  1297.             /* [in] */ LPCWSTR wszPKCS7FileName) = 0;
  1298.         
  1299.         virtual HRESULT STDMETHODCALLTYPE createPKCS10WStr( 
  1300.             /* [in] */ LPCWSTR DNName,
  1301.             /* [in] */ LPCWSTR Usage,
  1302.             /* [out] */ PCRYPT_DATA_BLOB pPkcs10Blob) = 0;
  1303.         
  1304.         virtual HRESULT STDMETHODCALLTYPE acceptPKCS7Blob( 
  1305.             /* [in] */ PCRYPT_DATA_BLOB pBlobPKCS7) = 0;
  1306.         
  1307.         virtual PCCERT_CONTEXT STDMETHODCALLTYPE getCertContextFromPKCS7( 
  1308.             /* [in] */ PCRYPT_DATA_BLOB pBlobPKCS7) = 0;
  1309.         
  1310.         virtual HCERTSTORE STDMETHODCALLTYPE getMyStore( void) = 0;
  1311.         
  1312.         virtual HCERTSTORE STDMETHODCALLTYPE getCAStore( void) = 0;
  1313.         
  1314.         virtual HCERTSTORE STDMETHODCALLTYPE getROOTHStore( void) = 0;
  1315.         
  1316.         virtual HRESULT STDMETHODCALLTYPE enumProvidersWStr( 
  1317.             /* [in] */ LONG dwIndex,
  1318.             /* [in] */ LONG dwFlags,
  1319.             /* [out] */ LPWSTR *pbstrProvName) = 0;
  1320.         
  1321.         virtual HRESULT STDMETHODCALLTYPE enumContainersWStr( 
  1322.             /* [in] */ LONG dwIndex,
  1323.             /* [out] */ LPWSTR *pbstr) = 0;
  1324.         
  1325.         virtual HRESULT STDMETHODCALLTYPE freeRequestInfoBlob( 
  1326.             /* [in] */ CRYPT_DATA_BLOB pkcs7OrPkcs10) = 0;
  1327.         
  1328.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MyStoreNameWStr( 
  1329.             /* [out] */ LPWSTR *szwName) = 0;
  1330.         
  1331.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_MyStoreNameWStr( 
  1332.             /* [in] */ LPWSTR szwName) = 0;
  1333.         
  1334.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MyStoreTypeWStr( 
  1335.             /* [out] */ LPWSTR *szwType) = 0;
  1336.         
  1337.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_MyStoreTypeWStr( 
  1338.             /* [in] */ LPWSTR szwType) = 0;
  1339.         
  1340.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MyStoreFlags( 
  1341.             /* [out] */ LONG *pdwFlags) = 0;
  1342.         
  1343.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_MyStoreFlags( 
  1344.             /* [in] */ LONG dwFlags) = 0;
  1345.         
  1346.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_CAStoreNameWStr( 
  1347.             /* [out] */ LPWSTR *szwName) = 0;
  1348.         
  1349.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_CAStoreNameWStr( 
  1350.             /* [in] */ LPWSTR szwName) = 0;
  1351.         
  1352.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_CAStoreTypeWStr( 
  1353.             /* [out] */ LPWSTR *szwType) = 0;
  1354.         
  1355.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_CAStoreTypeWStr( 
  1356.             /* [in] */ LPWSTR szwType) = 0;
  1357.         
  1358.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_CAStoreFlags( 
  1359.             /* [out] */ LONG *pdwFlags) = 0;
  1360.         
  1361.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_CAStoreFlags( 
  1362.             /* [in] */ LONG dwFlags) = 0;
  1363.         
  1364.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RootStoreNameWStr( 
  1365.             /* [out] */ LPWSTR *szwName) = 0;
  1366.         
  1367.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_RootStoreNameWStr( 
  1368.             /* [in] */ LPWSTR szwName) = 0;
  1369.         
  1370.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RootStoreTypeWStr( 
  1371.             /* [out] */ LPWSTR *szwType) = 0;
  1372.         
  1373.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_RootStoreTypeWStr( 
  1374.             /* [in] */ LPWSTR szwType) = 0;
  1375.         
  1376.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RootStoreFlags( 
  1377.             /* [out] */ LONG *pdwFlags) = 0;
  1378.         
  1379.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_RootStoreFlags( 
  1380.             /* [in] */ LONG dwFlags) = 0;
  1381.         
  1382.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RequestStoreNameWStr( 
  1383.             /* [out] */ LPWSTR *szwName) = 0;
  1384.         
  1385.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_RequestStoreNameWStr( 
  1386.             /* [in] */ LPWSTR szwName) = 0;
  1387.         
  1388.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RequestStoreTypeWStr( 
  1389.             /* [out] */ LPWSTR *szwType) = 0;
  1390.         
  1391.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_RequestStoreTypeWStr( 
  1392.             /* [in] */ LPWSTR szwType) = 0;
  1393.         
  1394.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RequestStoreFlags( 
  1395.             /* [out] */ LONG *pdwFlags) = 0;
  1396.         
  1397.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_RequestStoreFlags( 
  1398.             /* [in] */ LONG dwFlags) = 0;
  1399.         
  1400.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ContainerNameWStr( 
  1401.             /* [out] */ LPWSTR *szwContainer) = 0;
  1402.         
  1403.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ContainerNameWStr( 
  1404.             /* [in] */ LPWSTR szwContainer) = 0;
  1405.         
  1406.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ProviderNameWStr( 
  1407.             /* [out] */ LPWSTR *szwProvider) = 0;
  1408.         
  1409.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ProviderNameWStr( 
  1410.             /* [in] */ LPWSTR szwProvider) = 0;
  1411.         
  1412.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ProviderType( 
  1413.             /* [out] */ LONG *pdwType) = 0;
  1414.         
  1415.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ProviderType( 
  1416.             /* [in] */ LONG dwType) = 0;
  1417.         
  1418.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_KeySpec( 
  1419.             /* [out] */ LONG *pdw) = 0;
  1420.         
  1421.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_KeySpec( 
  1422.             /* [in] */ LONG dw) = 0;
  1423.         
  1424.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ProviderFlags( 
  1425.             /* [out] */ LONG *pdwFlags) = 0;
  1426.         
  1427.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ProviderFlags( 
  1428.             /* [in] */ LONG dwFlags) = 0;
  1429.         
  1430.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_UseExistingKeySet( 
  1431.             /* [out] */ BOOL *fUseExistingKeys) = 0;
  1432.         
  1433.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_UseExistingKeySet( 
  1434.             /* [in] */ BOOL fUseExistingKeys) = 0;
  1435.         
  1436.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_GenKeyFlags( 
  1437.             /* [out] */ LONG *pdwFlags) = 0;
  1438.         
  1439.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_GenKeyFlags( 
  1440.             /* [in] */ LONG dwFlags) = 0;
  1441.         
  1442.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DeleteRequestCert( 
  1443.             /* [out] */ BOOL *fDelete) = 0;
  1444.         
  1445.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DeleteRequestCert( 
  1446.             /* [in] */ BOOL fDelete) = 0;
  1447.         
  1448.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_WriteCertToUserDS( 
  1449.             /* [out] */ BOOL *fBool) = 0;
  1450.         
  1451.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_WriteCertToUserDS( 
  1452.             /* [in] */ BOOL fBool) = 0;
  1453.         
  1454.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_EnableT61DNEncoding( 
  1455.             /* [out] */ BOOL *fBool) = 0;
  1456.         
  1457.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_EnableT61DNEncoding( 
  1458.             /* [in] */ BOOL fBool) = 0;
  1459.         
  1460.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_WriteCertToCSP( 
  1461.             /* [out] */ BOOL *fBool) = 0;
  1462.         
  1463.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_WriteCertToCSP( 
  1464.             /* [in] */ BOOL fBool) = 0;
  1465.         
  1466.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SPCFileNameWStr( 
  1467.             /* [out] */ LPWSTR *szw) = 0;
  1468.         
  1469.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_SPCFileNameWStr( 
  1470.             /* [in] */ LPWSTR szw) = 0;
  1471.         
  1472.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PVKFileNameWStr( 
  1473.             /* [out] */ LPWSTR *szw) = 0;
  1474.         
  1475.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_PVKFileNameWStr( 
  1476.             /* [in] */ LPWSTR szw) = 0;
  1477.         
  1478.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HashAlgorithmWStr( 
  1479.             /* [out] */ LPWSTR *szw) = 0;
  1480.         
  1481.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_HashAlgorithmWStr( 
  1482.             /* [in] */ LPWSTR szw) = 0;
  1483.         
  1484.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RenewalCertificate( 
  1485.             /* [out] */ PCCERT_CONTEXT *ppCertContext) = 0;
  1486.         
  1487.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_RenewalCertificate( 
  1488.             /* [in] */ PCCERT_CONTEXT pCertContext) = 0;
  1489.         
  1490.         virtual HRESULT STDMETHODCALLTYPE AddCertTypeToRequestWStr( 
  1491.             /* [in] */ LPWSTR szw) = 0;
  1492.         
  1493.         virtual HRESULT STDMETHODCALLTYPE AddNameValuePairToSignatureWStr( 
  1494.             /* [in] */ LPWSTR Name,
  1495.             /* [in] */ LPWSTR Value) = 0;
  1496.         
  1497.         virtual HRESULT STDMETHODCALLTYPE AddExtensionsToRequest( 
  1498.             /* [in] */ PCERT_EXTENSIONS pCertExtensions) = 0;
  1499.         
  1500.         virtual HRESULT STDMETHODCALLTYPE AddAuthenticatedAttributesToPKCS7Request( 
  1501.             /* [in] */ PCRYPT_ATTRIBUTES pAttributes) = 0;
  1502.         
  1503.         virtual HRESULT STDMETHODCALLTYPE CreatePKCS7RequestFromRequest( 
  1504.             /* [in] */ PCRYPT_DATA_BLOB pRequest,
  1505.             /* [in] */ PCCERT_CONTEXT pSigningCertContext,
  1506.             /* [out] */ PCRYPT_DATA_BLOB pPkcs7Blob) = 0;
  1507.         
  1508.     };
  1509.     
  1510. #else  /* C style interface */
  1511.     typedef struct IEnrollVtbl
  1512.     {
  1513.         BEGIN_INTERFACE
  1514.         
  1515.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1516.             IEnroll * This,
  1517.             /* [in] */ REFIID riid,
  1518.             /* [iid_is][out] */ void **ppvObject);
  1519.         
  1520.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1521.             IEnroll * This);
  1522.         
  1523.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1524.             IEnroll * This);
  1525.         
  1526.         HRESULT ( STDMETHODCALLTYPE *createFilePKCS10WStr )( 
  1527.             IEnroll * This,
  1528.             /* [in] */ LPCWSTR DNName,
  1529.             /* [in] */ LPCWSTR Usage,
  1530.             /* [in] */ LPCWSTR wszPKCS10FileName);
  1531.         
  1532.         HRESULT ( STDMETHODCALLTYPE *acceptFilePKCS7WStr )( 
  1533.             IEnroll * This,
  1534.             /* [in] */ LPCWSTR wszPKCS7FileName);
  1535.         
  1536.         HRESULT ( STDMETHODCALLTYPE *createPKCS10WStr )( 
  1537.             IEnroll * This,
  1538.             /* [in] */ LPCWSTR DNName,
  1539.             /* [in] */ LPCWSTR Usage,
  1540.             /* [out] */ PCRYPT_DATA_BLOB pPkcs10Blob);
  1541.         
  1542.         HRESULT ( STDMETHODCALLTYPE *acceptPKCS7Blob )( 
  1543.             IEnroll * This,
  1544.             /* [in] */ PCRYPT_DATA_BLOB pBlobPKCS7);
  1545.         
  1546.         PCCERT_CONTEXT ( STDMETHODCALLTYPE *getCertContextFromPKCS7 )( 
  1547.             IEnroll * This,
  1548.             /* [in] */ PCRYPT_DATA_BLOB pBlobPKCS7);
  1549.         
  1550.         HCERTSTORE ( STDMETHODCALLTYPE *getMyStore )( 
  1551.             IEnroll * This);
  1552.         
  1553.         HCERTSTORE ( STDMETHODCALLTYPE *getCAStore )( 
  1554.             IEnroll * This);
  1555.         
  1556.         HCERTSTORE ( STDMETHODCALLTYPE *getROOTHStore )( 
  1557.             IEnroll * This);
  1558.         
  1559.         HRESULT ( STDMETHODCALLTYPE *enumProvidersWStr )( 
  1560.             IEnroll * This,
  1561.             /* [in] */ LONG dwIndex,
  1562.             /* [in] */ LONG dwFlags,
  1563.             /* [out] */ LPWSTR *pbstrProvName);
  1564.         
  1565.         HRESULT ( STDMETHODCALLTYPE *enumContainersWStr )( 
  1566.             IEnroll * This,
  1567.             /* [in] */ LONG dwIndex,
  1568.             /* [out] */ LPWSTR *pbstr);
  1569.         
  1570.         HRESULT ( STDMETHODCALLTYPE *freeRequestInfoBlob )( 
  1571.             IEnroll * This,
  1572.             /* [in] */ CRYPT_DATA_BLOB pkcs7OrPkcs10);
  1573.         
  1574.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MyStoreNameWStr )( 
  1575.             IEnroll * This,
  1576.             /* [out] */ LPWSTR *szwName);
  1577.         
  1578.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_MyStoreNameWStr )( 
  1579.             IEnroll * This,
  1580.             /* [in] */ LPWSTR szwName);
  1581.         
  1582.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MyStoreTypeWStr )( 
  1583.             IEnroll * This,
  1584.             /* [out] */ LPWSTR *szwType);
  1585.         
  1586.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_MyStoreTypeWStr )( 
  1587.             IEnroll * This,
  1588.             /* [in] */ LPWSTR szwType);
  1589.         
  1590.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MyStoreFlags )( 
  1591.             IEnroll * This,
  1592.             /* [out] */ LONG *pdwFlags);
  1593.         
  1594.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_MyStoreFlags )( 
  1595.             IEnroll * This,
  1596.             /* [in] */ LONG dwFlags);
  1597.         
  1598.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CAStoreNameWStr )( 
  1599.             IEnroll * This,
  1600.             /* [out] */ LPWSTR *szwName);
  1601.         
  1602.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_CAStoreNameWStr )( 
  1603.             IEnroll * This,
  1604.             /* [in] */ LPWSTR szwName);
  1605.         
  1606.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CAStoreTypeWStr )( 
  1607.             IEnroll * This,
  1608.             /* [out] */ LPWSTR *szwType);
  1609.         
  1610.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_CAStoreTypeWStr )( 
  1611.             IEnroll * This,
  1612.             /* [in] */ LPWSTR szwType);
  1613.         
  1614.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CAStoreFlags )( 
  1615.             IEnroll * This,
  1616.             /* [out] */ LONG *pdwFlags);
  1617.         
  1618.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_CAStoreFlags )( 
  1619.             IEnroll * This,
  1620.             /* [in] */ LONG dwFlags);
  1621.         
  1622.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RootStoreNameWStr )( 
  1623.             IEnroll * This,
  1624.             /* [out] */ LPWSTR *szwName);
  1625.         
  1626.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RootStoreNameWStr )( 
  1627.             IEnroll * This,
  1628.             /* [in] */ LPWSTR szwName);
  1629.         
  1630.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RootStoreTypeWStr )( 
  1631.             IEnroll * This,
  1632.             /* [out] */ LPWSTR *szwType);
  1633.         
  1634.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RootStoreTypeWStr )( 
  1635.             IEnroll * This,
  1636.             /* [in] */ LPWSTR szwType);
  1637.         
  1638.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RootStoreFlags )( 
  1639.             IEnroll * This,
  1640.             /* [out] */ LONG *pdwFlags);
  1641.         
  1642.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RootStoreFlags )( 
  1643.             IEnroll * This,
  1644.             /* [in] */ LONG dwFlags);
  1645.         
  1646.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RequestStoreNameWStr )( 
  1647.             IEnroll * This,
  1648.             /* [out] */ LPWSTR *szwName);
  1649.         
  1650.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RequestStoreNameWStr )( 
  1651.             IEnroll * This,
  1652.             /* [in] */ LPWSTR szwName);
  1653.         
  1654.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RequestStoreTypeWStr )( 
  1655.             IEnroll * This,
  1656.             /* [out] */ LPWSTR *szwType);
  1657.         
  1658.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RequestStoreTypeWStr )( 
  1659.             IEnroll * This,
  1660.             /* [in] */ LPWSTR szwType);
  1661.         
  1662.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RequestStoreFlags )( 
  1663.             IEnroll * This,
  1664.             /* [out] */ LONG *pdwFlags);
  1665.         
  1666.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RequestStoreFlags )( 
  1667.             IEnroll * This,
  1668.             /* [in] */ LONG dwFlags);
  1669.         
  1670.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ContainerNameWStr )( 
  1671.             IEnroll * This,
  1672.             /* [out] */ LPWSTR *szwContainer);
  1673.         
  1674.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ContainerNameWStr )( 
  1675.             IEnroll * This,
  1676.             /* [in] */ LPWSTR szwContainer);
  1677.         
  1678.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProviderNameWStr )( 
  1679.             IEnroll * This,
  1680.             /* [out] */ LPWSTR *szwProvider);
  1681.         
  1682.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ProviderNameWStr )( 
  1683.             IEnroll * This,
  1684.             /* [in] */ LPWSTR szwProvider);
  1685.         
  1686.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProviderType )( 
  1687.             IEnroll * This,
  1688.             /* [out] */ LONG *pdwType);
  1689.         
  1690.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ProviderType )( 
  1691.             IEnroll * This,
  1692.             /* [in] */ LONG dwType);
  1693.         
  1694.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_KeySpec )( 
  1695.             IEnroll * This,
  1696.             /* [out] */ LONG *pdw);
  1697.         
  1698.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_KeySpec )( 
  1699.             IEnroll * This,
  1700.             /* [in] */ LONG dw);
  1701.         
  1702.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProviderFlags )( 
  1703.             IEnroll * This,
  1704.             /* [out] */ LONG *pdwFlags);
  1705.         
  1706.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ProviderFlags )( 
  1707.             IEnroll * This,
  1708.             /* [in] */ LONG dwFlags);
  1709.         
  1710.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_UseExistingKeySet )( 
  1711.             IEnroll * This,
  1712.             /* [out] */ BOOL *fUseExistingKeys);
  1713.         
  1714.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_UseExistingKeySet )( 
  1715.             IEnroll * This,
  1716.             /* [in] */ BOOL fUseExistingKeys);
  1717.         
  1718.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_GenKeyFlags )( 
  1719.             IEnroll * This,
  1720.             /* [out] */ LONG *pdwFlags);
  1721.         
  1722.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_GenKeyFlags )( 
  1723.             IEnroll * This,
  1724.             /* [in] */ LONG dwFlags);
  1725.         
  1726.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DeleteRequestCert )( 
  1727.             IEnroll * This,
  1728.             /* [out] */ BOOL *fDelete);
  1729.         
  1730.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DeleteRequestCert )( 
  1731.             IEnroll * This,
  1732.             /* [in] */ BOOL fDelete);
  1733.         
  1734.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_WriteCertToUserDS )( 
  1735.             IEnroll * This,
  1736.             /* [out] */ BOOL *fBool);
  1737.         
  1738.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_WriteCertToUserDS )( 
  1739.             IEnroll * This,
  1740.             /* [in] */ BOOL fBool);
  1741.         
  1742.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_EnableT61DNEncoding )( 
  1743.             IEnroll * This,
  1744.             /* [out] */ BOOL *fBool);
  1745.         
  1746.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_EnableT61DNEncoding )( 
  1747.             IEnroll * This,
  1748.             /* [in] */ BOOL fBool);
  1749.         
  1750.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_WriteCertToCSP )( 
  1751.             IEnroll * This,
  1752.             /* [out] */ BOOL *fBool);
  1753.         
  1754.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_WriteCertToCSP )( 
  1755.             IEnroll * This,
  1756.             /* [in] */ BOOL fBool);
  1757.         
  1758.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SPCFileNameWStr )( 
  1759.             IEnroll * This,
  1760.             /* [out] */ LPWSTR *szw);
  1761.         
  1762.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_SPCFileNameWStr )( 
  1763.             IEnroll * This,
  1764.             /* [in] */ LPWSTR szw);
  1765.         
  1766.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PVKFileNameWStr )( 
  1767.             IEnroll * This,
  1768.             /* [out] */ LPWSTR *szw);
  1769.         
  1770.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PVKFileNameWStr )( 
  1771.             IEnroll * This,
  1772.             /* [in] */ LPWSTR szw);
  1773.         
  1774.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HashAlgorithmWStr )( 
  1775.             IEnroll * This,
  1776.             /* [out] */ LPWSTR *szw);
  1777.         
  1778.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_HashAlgorithmWStr )( 
  1779.             IEnroll * This,
  1780.             /* [in] */ LPWSTR szw);
  1781.         
  1782.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RenewalCertificate )( 
  1783.             IEnroll * This,
  1784.             /* [out] */ PCCERT_CONTEXT *ppCertContext);
  1785.         
  1786.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RenewalCertificate )( 
  1787.             IEnroll * This,
  1788.             /* [in] */ PCCERT_CONTEXT pCertContext);
  1789.         
  1790.         HRESULT ( STDMETHODCALLTYPE *AddCertTypeToRequestWStr )( 
  1791.             IEnroll * This,
  1792.             /* [in] */ LPWSTR szw);
  1793.         
  1794.         HRESULT ( STDMETHODCALLTYPE *AddNameValuePairToSignatureWStr )( 
  1795.             IEnroll * This,
  1796.             /* [in] */ LPWSTR Name,
  1797.             /* [in] */ LPWSTR Value);
  1798.         
  1799.         HRESULT ( STDMETHODCALLTYPE *AddExtensionsToRequest )( 
  1800.             IEnroll * This,
  1801.             /* [in] */ PCERT_EXTENSIONS pCertExtensions);
  1802.         
  1803.         HRESULT ( STDMETHODCALLTYPE *AddAuthenticatedAttributesToPKCS7Request )( 
  1804.             IEnroll * This,
  1805.             /* [in] */ PCRYPT_ATTRIBUTES pAttributes);
  1806.         
  1807.         HRESULT ( STDMETHODCALLTYPE *CreatePKCS7RequestFromRequest )( 
  1808.             IEnroll * This,
  1809.             /* [in] */ PCRYPT_DATA_BLOB pRequest,
  1810.             /* [in] */ PCCERT_CONTEXT pSigningCertContext,
  1811.             /* [out] */ PCRYPT_DATA_BLOB pPkcs7Blob);
  1812.         
  1813.         END_INTERFACE
  1814.     } IEnrollVtbl;
  1815.     interface IEnroll
  1816.     {
  1817.         CONST_VTBL struct IEnrollVtbl *lpVtbl;
  1818.     };
  1819.     
  1820. #ifdef COBJMACROS
  1821. #define IEnroll_QueryInterface(This,riid,ppvObject)
  1822.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1823. #define IEnroll_AddRef(This)
  1824.     (This)->lpVtbl -> AddRef(This)
  1825. #define IEnroll_Release(This)
  1826.     (This)->lpVtbl -> Release(This)
  1827. #define IEnroll_createFilePKCS10WStr(This,DNName,Usage,wszPKCS10FileName)
  1828.     (This)->lpVtbl -> createFilePKCS10WStr(This,DNName,Usage,wszPKCS10FileName)
  1829. #define IEnroll_acceptFilePKCS7WStr(This,wszPKCS7FileName)
  1830.     (This)->lpVtbl -> acceptFilePKCS7WStr(This,wszPKCS7FileName)
  1831. #define IEnroll_createPKCS10WStr(This,DNName,Usage,pPkcs10Blob)
  1832.     (This)->lpVtbl -> createPKCS10WStr(This,DNName,Usage,pPkcs10Blob)
  1833. #define IEnroll_acceptPKCS7Blob(This,pBlobPKCS7)
  1834.     (This)->lpVtbl -> acceptPKCS7Blob(This,pBlobPKCS7)
  1835. #define IEnroll_getCertContextFromPKCS7(This,pBlobPKCS7)
  1836.     (This)->lpVtbl -> getCertContextFromPKCS7(This,pBlobPKCS7)
  1837. #define IEnroll_getMyStore(This)
  1838.     (This)->lpVtbl -> getMyStore(This)
  1839. #define IEnroll_getCAStore(This)
  1840.     (This)->lpVtbl -> getCAStore(This)
  1841. #define IEnroll_getROOTHStore(This)
  1842.     (This)->lpVtbl -> getROOTHStore(This)
  1843. #define IEnroll_enumProvidersWStr(This,dwIndex,dwFlags,pbstrProvName)
  1844.     (This)->lpVtbl -> enumProvidersWStr(This,dwIndex,dwFlags,pbstrProvName)
  1845. #define IEnroll_enumContainersWStr(This,dwIndex,pbstr)
  1846.     (This)->lpVtbl -> enumContainersWStr(This,dwIndex,pbstr)
  1847. #define IEnroll_freeRequestInfoBlob(This,pkcs7OrPkcs10)
  1848.     (This)->lpVtbl -> freeRequestInfoBlob(This,pkcs7OrPkcs10)
  1849. #define IEnroll_get_MyStoreNameWStr(This,szwName)
  1850.     (This)->lpVtbl -> get_MyStoreNameWStr(This,szwName)
  1851. #define IEnroll_put_MyStoreNameWStr(This,szwName)
  1852.     (This)->lpVtbl -> put_MyStoreNameWStr(This,szwName)
  1853. #define IEnroll_get_MyStoreTypeWStr(This,szwType)
  1854.     (This)->lpVtbl -> get_MyStoreTypeWStr(This,szwType)
  1855. #define IEnroll_put_MyStoreTypeWStr(This,szwType)
  1856.     (This)->lpVtbl -> put_MyStoreTypeWStr(This,szwType)
  1857. #define IEnroll_get_MyStoreFlags(This,pdwFlags)
  1858.     (This)->lpVtbl -> get_MyStoreFlags(This,pdwFlags)
  1859. #define IEnroll_put_MyStoreFlags(This,dwFlags)
  1860.     (This)->lpVtbl -> put_MyStoreFlags(This,dwFlags)
  1861. #define IEnroll_get_CAStoreNameWStr(This,szwName)
  1862.     (This)->lpVtbl -> get_CAStoreNameWStr(This,szwName)
  1863. #define IEnroll_put_CAStoreNameWStr(This,szwName)
  1864.     (This)->lpVtbl -> put_CAStoreNameWStr(This,szwName)
  1865. #define IEnroll_get_CAStoreTypeWStr(This,szwType)
  1866.     (This)->lpVtbl -> get_CAStoreTypeWStr(This,szwType)
  1867. #define IEnroll_put_CAStoreTypeWStr(This,szwType)
  1868.     (This)->lpVtbl -> put_CAStoreTypeWStr(This,szwType)
  1869. #define IEnroll_get_CAStoreFlags(This,pdwFlags)
  1870.     (This)->lpVtbl -> get_CAStoreFlags(This,pdwFlags)
  1871. #define IEnroll_put_CAStoreFlags(This,dwFlags)
  1872.     (This)->lpVtbl -> put_CAStoreFlags(This,dwFlags)
  1873. #define IEnroll_get_RootStoreNameWStr(This,szwName)
  1874.     (This)->lpVtbl -> get_RootStoreNameWStr(This,szwName)
  1875. #define IEnroll_put_RootStoreNameWStr(This,szwName)
  1876.     (This)->lpVtbl -> put_RootStoreNameWStr(This,szwName)
  1877. #define IEnroll_get_RootStoreTypeWStr(This,szwType)
  1878.     (This)->lpVtbl -> get_RootStoreTypeWStr(This,szwType)
  1879. #define IEnroll_put_RootStoreTypeWStr(This,szwType)
  1880.     (This)->lpVtbl -> put_RootStoreTypeWStr(This,szwType)
  1881. #define IEnroll_get_RootStoreFlags(This,pdwFlags)
  1882.     (This)->lpVtbl -> get_RootStoreFlags(This,pdwFlags)
  1883. #define IEnroll_put_RootStoreFlags(This,dwFlags)
  1884.     (This)->lpVtbl -> put_RootStoreFlags(This,dwFlags)
  1885. #define IEnroll_get_RequestStoreNameWStr(This,szwName)
  1886.     (This)->lpVtbl -> get_RequestStoreNameWStr(This,szwName)
  1887. #define IEnroll_put_RequestStoreNameWStr(This,szwName)
  1888.     (This)->lpVtbl -> put_RequestStoreNameWStr(This,szwName)
  1889. #define IEnroll_get_RequestStoreTypeWStr(This,szwType)
  1890.     (This)->lpVtbl -> get_RequestStoreTypeWStr(This,szwType)
  1891. #define IEnroll_put_RequestStoreTypeWStr(This,szwType)
  1892.     (This)->lpVtbl -> put_RequestStoreTypeWStr(This,szwType)
  1893. #define IEnroll_get_RequestStoreFlags(This,pdwFlags)
  1894.     (This)->lpVtbl -> get_RequestStoreFlags(This,pdwFlags)
  1895. #define IEnroll_put_RequestStoreFlags(This,dwFlags)
  1896.     (This)->lpVtbl -> put_RequestStoreFlags(This,dwFlags)
  1897. #define IEnroll_get_ContainerNameWStr(This,szwContainer)
  1898.     (This)->lpVtbl -> get_ContainerNameWStr(This,szwContainer)
  1899. #define IEnroll_put_ContainerNameWStr(This,szwContainer)
  1900.     (This)->lpVtbl -> put_ContainerNameWStr(This,szwContainer)
  1901. #define IEnroll_get_ProviderNameWStr(This,szwProvider)
  1902.     (This)->lpVtbl -> get_ProviderNameWStr(This,szwProvider)
  1903. #define IEnroll_put_ProviderNameWStr(This,szwProvider)
  1904.     (This)->lpVtbl -> put_ProviderNameWStr(This,szwProvider)
  1905. #define IEnroll_get_ProviderType(This,pdwType)
  1906.     (This)->lpVtbl -> get_ProviderType(This,pdwType)
  1907. #define IEnroll_put_ProviderType(This,dwType)
  1908.     (This)->lpVtbl -> put_ProviderType(This,dwType)
  1909. #define IEnroll_get_KeySpec(This,pdw)
  1910.     (This)->lpVtbl -> get_KeySpec(This,pdw)
  1911. #define IEnroll_put_KeySpec(This,dw)
  1912.     (This)->lpVtbl -> put_KeySpec(This,dw)
  1913. #define IEnroll_get_ProviderFlags(This,pdwFlags)
  1914.     (This)->lpVtbl -> get_ProviderFlags(This,pdwFlags)
  1915. #define IEnroll_put_ProviderFlags(This,dwFlags)
  1916.     (This)->lpVtbl -> put_ProviderFlags(This,dwFlags)
  1917. #define IEnroll_get_UseExistingKeySet(This,fUseExistingKeys)
  1918.     (This)->lpVtbl -> get_UseExistingKeySet(This,fUseExistingKeys)
  1919. #define IEnroll_put_UseExistingKeySet(This,fUseExistingKeys)
  1920.     (This)->lpVtbl -> put_UseExistingKeySet(This,fUseExistingKeys)
  1921. #define IEnroll_get_GenKeyFlags(This,pdwFlags)
  1922.     (This)->lpVtbl -> get_GenKeyFlags(This,pdwFlags)
  1923. #define IEnroll_put_GenKeyFlags(This,dwFlags)
  1924.     (This)->lpVtbl -> put_GenKeyFlags(This,dwFlags)
  1925. #define IEnroll_get_DeleteRequestCert(This,fDelete)
  1926.     (This)->lpVtbl -> get_DeleteRequestCert(This,fDelete)
  1927. #define IEnroll_put_DeleteRequestCert(This,fDelete)
  1928.     (This)->lpVtbl -> put_DeleteRequestCert(This,fDelete)
  1929. #define IEnroll_get_WriteCertToUserDS(This,fBool)
  1930.     (This)->lpVtbl -> get_WriteCertToUserDS(This,fBool)
  1931. #define IEnroll_put_WriteCertToUserDS(This,fBool)
  1932.     (This)->lpVtbl -> put_WriteCertToUserDS(This,fBool)
  1933. #define IEnroll_get_EnableT61DNEncoding(This,fBool)
  1934.     (This)->lpVtbl -> get_EnableT61DNEncoding(This,fBool)
  1935. #define IEnroll_put_EnableT61DNEncoding(This,fBool)
  1936.     (This)->lpVtbl -> put_EnableT61DNEncoding(This,fBool)
  1937. #define IEnroll_get_WriteCertToCSP(This,fBool)
  1938.     (This)->lpVtbl -> get_WriteCertToCSP(This,fBool)
  1939. #define IEnroll_put_WriteCertToCSP(This,fBool)
  1940.     (This)->lpVtbl -> put_WriteCertToCSP(This,fBool)
  1941. #define IEnroll_get_SPCFileNameWStr(This,szw)
  1942.     (This)->lpVtbl -> get_SPCFileNameWStr(This,szw)
  1943. #define IEnroll_put_SPCFileNameWStr(This,szw)
  1944.     (This)->lpVtbl -> put_SPCFileNameWStr(This,szw)
  1945. #define IEnroll_get_PVKFileNameWStr(This,szw)
  1946.     (This)->lpVtbl -> get_PVKFileNameWStr(This,szw)
  1947. #define IEnroll_put_PVKFileNameWStr(This,szw)
  1948.     (This)->lpVtbl -> put_PVKFileNameWStr(This,szw)
  1949. #define IEnroll_get_HashAlgorithmWStr(This,szw)
  1950.     (This)->lpVtbl -> get_HashAlgorithmWStr(This,szw)
  1951. #define IEnroll_put_HashAlgorithmWStr(This,szw)
  1952.     (This)->lpVtbl -> put_HashAlgorithmWStr(This,szw)
  1953. #define IEnroll_get_RenewalCertificate(This,ppCertContext)
  1954.     (This)->lpVtbl -> get_RenewalCertificate(This,ppCertContext)
  1955. #define IEnroll_put_RenewalCertificate(This,pCertContext)
  1956.     (This)->lpVtbl -> put_RenewalCertificate(This,pCertContext)
  1957. #define IEnroll_AddCertTypeToRequestWStr(This,szw)
  1958.     (This)->lpVtbl -> AddCertTypeToRequestWStr(This,szw)
  1959. #define IEnroll_AddNameValuePairToSignatureWStr(This,Name,Value)
  1960.     (This)->lpVtbl -> AddNameValuePairToSignatureWStr(This,Name,Value)
  1961. #define IEnroll_AddExtensionsToRequest(This,pCertExtensions)
  1962.     (This)->lpVtbl -> AddExtensionsToRequest(This,pCertExtensions)
  1963. #define IEnroll_AddAuthenticatedAttributesToPKCS7Request(This,pAttributes)
  1964.     (This)->lpVtbl -> AddAuthenticatedAttributesToPKCS7Request(This,pAttributes)
  1965. #define IEnroll_CreatePKCS7RequestFromRequest(This,pRequest,pSigningCertContext,pPkcs7Blob)
  1966.     (This)->lpVtbl -> CreatePKCS7RequestFromRequest(This,pRequest,pSigningCertContext,pPkcs7Blob)
  1967. #endif /* COBJMACROS */
  1968. #endif  /* C style interface */
  1969. HRESULT STDMETHODCALLTYPE IEnroll_createFilePKCS10WStr_Proxy( 
  1970.     IEnroll * This,
  1971.     /* [in] */ LPCWSTR DNName,
  1972.     /* [in] */ LPCWSTR Usage,
  1973.     /* [in] */ LPCWSTR wszPKCS10FileName);
  1974. void __RPC_STUB IEnroll_createFilePKCS10WStr_Stub(
  1975.     IRpcStubBuffer *This,
  1976.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1977.     PRPC_MESSAGE _pRpcMessage,
  1978.     DWORD *_pdwStubPhase);
  1979. HRESULT STDMETHODCALLTYPE IEnroll_acceptFilePKCS7WStr_Proxy( 
  1980.     IEnroll * This,
  1981.     /* [in] */ LPCWSTR wszPKCS7FileName);
  1982. void __RPC_STUB IEnroll_acceptFilePKCS7WStr_Stub(
  1983.     IRpcStubBuffer *This,
  1984.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1985.     PRPC_MESSAGE _pRpcMessage,
  1986.     DWORD *_pdwStubPhase);
  1987. HRESULT STDMETHODCALLTYPE IEnroll_createPKCS10WStr_Proxy( 
  1988.     IEnroll * This,
  1989.     /* [in] */ LPCWSTR DNName,
  1990.     /* [in] */ LPCWSTR Usage,
  1991.     /* [out] */ PCRYPT_DATA_BLOB pPkcs10Blob);
  1992. void __RPC_STUB IEnroll_createPKCS10WStr_Stub(
  1993.     IRpcStubBuffer *This,
  1994.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1995.     PRPC_MESSAGE _pRpcMessage,
  1996.     DWORD *_pdwStubPhase);
  1997. HRESULT STDMETHODCALLTYPE IEnroll_acceptPKCS7Blob_Proxy( 
  1998.     IEnroll * This,
  1999.     /* [in] */ PCRYPT_DATA_BLOB pBlobPKCS7);
  2000. void __RPC_STUB IEnroll_acceptPKCS7Blob_Stub(
  2001.     IRpcStubBuffer *This,
  2002.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2003.     PRPC_MESSAGE _pRpcMessage,
  2004.     DWORD *_pdwStubPhase);
  2005. PCCERT_CONTEXT STDMETHODCALLTYPE IEnroll_getCertContextFromPKCS7_Proxy( 
  2006.     IEnroll * This,
  2007.     /* [in] */ PCRYPT_DATA_BLOB pBlobPKCS7);
  2008. void __RPC_STUB IEnroll_getCertContextFromPKCS7_Stub(
  2009.     IRpcStubBuffer *This,
  2010.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2011.     PRPC_MESSAGE _pRpcMessage,
  2012.     DWORD *_pdwStubPhase);
  2013. HCERTSTORE STDMETHODCALLTYPE IEnroll_getMyStore_Proxy( 
  2014.     IEnroll * This);
  2015. void __RPC_STUB IEnroll_getMyStore_Stub(
  2016.     IRpcStubBuffer *This,
  2017.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2018.     PRPC_MESSAGE _pRpcMessage,
  2019.     DWORD *_pdwStubPhase);
  2020. HCERTSTORE STDMETHODCALLTYPE IEnroll_getCAStore_Proxy( 
  2021.     IEnroll * This);
  2022. void __RPC_STUB IEnroll_getCAStore_Stub(
  2023.     IRpcStubBuffer *This,
  2024.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2025.     PRPC_MESSAGE _pRpcMessage,
  2026.     DWORD *_pdwStubPhase);
  2027. HCERTSTORE STDMETHODCALLTYPE IEnroll_getROOTHStore_Proxy( 
  2028.     IEnroll * This);
  2029. void __RPC_STUB IEnroll_getROOTHStore_Stub(
  2030.     IRpcStubBuffer *This,
  2031.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2032.     PRPC_MESSAGE _pRpcMessage,
  2033.     DWORD *_pdwStubPhase);
  2034. HRESULT STDMETHODCALLTYPE IEnroll_enumProvidersWStr_Proxy( 
  2035.     IEnroll * This,
  2036.     /* [in] */ LONG dwIndex,
  2037.     /* [in] */ LONG dwFlags,
  2038.     /* [out] */ LPWSTR *pbstrProvName);
  2039. void __RPC_STUB IEnroll_enumProvidersWStr_Stub(
  2040.     IRpcStubBuffer *This,
  2041.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2042.     PRPC_MESSAGE _pRpcMessage,
  2043.     DWORD *_pdwStubPhase);
  2044. HRESULT STDMETHODCALLTYPE IEnroll_enumContainersWStr_Proxy( 
  2045.     IEnroll * This,
  2046.     /* [in] */ LONG dwIndex,
  2047.     /* [out] */ LPWSTR *pbstr);
  2048. void __RPC_STUB IEnroll_enumContainersWStr_Stub(
  2049.     IRpcStubBuffer *This,
  2050.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2051.     PRPC_MESSAGE _pRpcMessage,
  2052.     DWORD *_pdwStubPhase);
  2053. HRESULT STDMETHODCALLTYPE IEnroll_freeRequestInfoBlob_Proxy( 
  2054.     IEnroll * This,
  2055.     /* [in] */ CRYPT_DATA_BLOB pkcs7OrPkcs10);
  2056. void __RPC_STUB IEnroll_freeRequestInfoBlob_Stub(
  2057.     IRpcStubBuffer *This,
  2058.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2059.     PRPC_MESSAGE _pRpcMessage,
  2060.     DWORD *_pdwStubPhase);
  2061. /* [propget] */ HRESULT STDMETHODCALLTYPE IEnroll_get_MyStoreNameWStr_Proxy( 
  2062.     IEnroll * This,
  2063.     /* [out] */ LPWSTR *szwName);
  2064. void __RPC_STUB IEnroll_get_MyStoreNameWStr_Stub(
  2065.     IRpcStubBuffer *This,
  2066.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2067.     PRPC_MESSAGE _pRpcMessage,
  2068.     DWORD *_pdwStubPhase);
  2069. /* [propput] */ HRESULT STDMETHODCALLTYPE IEnroll_put_MyStoreNameWStr_Proxy( 
  2070.     IEnroll * This,
  2071.     /* [in] */ LPWSTR szwName);
  2072. void __RPC_STUB IEnroll_put_MyStoreNameWStr_Stub(
  2073.     IRpcStubBuffer *This,
  2074.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2075.     PRPC_MESSAGE _pRpcMessage,
  2076.     DWORD *_pdwStubPhase);
  2077. /* [propget] */ HRESULT STDMETHODCALLTYPE IEnroll_get_MyStoreTypeWStr_Proxy( 
  2078.     IEnroll * This,
  2079.     /* [out] */ LPWSTR *szwType);
  2080. void __RPC_STUB IEnroll_get_MyStoreTypeWStr_Stub(
  2081.     IRpcStubBuffer *This,
  2082.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2083.     PRPC_MESSAGE _pRpcMessage,
  2084.     DWORD *_pdwStubPhase);
  2085. /* [propput] */ HRESULT STDMETHODCALLTYPE IEnroll_put_MyStoreTypeWStr_Proxy( 
  2086.     IEnroll * This,
  2087.     /* [in] */ LPWSTR szwType);
  2088. void __RPC_STUB IEnroll_put_MyStoreTypeWStr_Stub(
  2089.     IRpcStubBuffer *This,
  2090.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2091.     PRPC_MESSAGE _pRpcMessage,
  2092.     DWORD *_pdwStubPhase);
  2093. /* [propget] */ HRESULT STDMETHODCALLTYPE IEnroll_get_MyStoreFlags_Proxy( 
  2094.     IEnroll * This,
  2095.     /* [out] */ LONG *pdwFlags);
  2096. void __RPC_STUB IEnroll_get_MyStoreFlags_Stub(
  2097.     IRpcStubBuffer *This,
  2098.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2099.     PRPC_MESSAGE _pRpcMessage,
  2100.     DWORD *_pdwStubPhase);
  2101. /* [propput] */ HRESULT STDMETHODCALLTYPE IEnroll_put_MyStoreFlags_Proxy( 
  2102.     IEnroll * This,
  2103.     /* [in] */ LONG dwFlags);
  2104. void __RPC_STUB IEnroll_put_MyStoreFlags_Stub(
  2105.     IRpcStubBuffer *This,
  2106.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2107.     PRPC_MESSAGE _pRpcMessage,
  2108.     DWORD *_pdwStubPhase);
  2109. /* [propget] */ HRESULT STDMETHODCALLTYPE IEnroll_get_CAStoreNameWStr_Proxy( 
  2110.     IEnroll * This,
  2111.     /* [out] */ LPWSTR *szwName);
  2112. void __RPC_STUB IEnroll_get_CAStoreNameWStr_Stub(
  2113.     IRpcStubBuffer *This,
  2114.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2115.     PRPC_MESSAGE _pRpcMessage,
  2116.     DWORD *_pdwStubPhase);
  2117. /* [propput] */ HRESULT STDMETHODCALLTYPE IEnroll_put_CAStoreNameWStr_Proxy( 
  2118.     IEnroll * This,
  2119.     /* [in] */ LPWSTR szwName);
  2120. void __RPC_STUB IEnroll_put_CAStoreNameWStr_Stub(
  2121.     IRpcStubBuffer *This,
  2122.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2123.     PRPC_MESSAGE _pRpcMessage,
  2124.     DWORD *_pdwStubPhase);
  2125. /* [propget] */ HRESULT STDMETHODCALLTYPE IEnroll_get_CAStoreTypeWStr_Proxy( 
  2126.     IEnroll * This,
  2127.     /* [out] */ LPWSTR *szwType);
  2128. void __RPC_STUB IEnroll_get_CAStoreTypeWStr_Stub(
  2129.     IRpcStubBuffer *This,
  2130.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2131.     PRPC_MESSAGE _pRpcMessage,
  2132.     DWORD *_pdwStubPhase);
  2133. /* [propput] */ HRESULT STDMETHODCALLTYPE IEnroll_put_CAStoreTypeWStr_Proxy( 
  2134.     IEnroll * This,
  2135.     /* [in] */ LPWSTR szwType);
  2136. void __RPC_STUB IEnroll_put_CAStoreTypeWStr_Stub(
  2137.     IRpcStubBuffer *This,
  2138.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2139.     PRPC_MESSAGE _pRpcMessage,
  2140.     DWORD *_pdwStubPhase);
  2141. /* [propget] */ HRESULT STDMETHODCALLTYPE IEnroll_get_CAStoreFlags_Proxy( 
  2142.     IEnroll * This,
  2143.     /* [out] */ LONG *pdwFlags);
  2144. void __RPC_STUB IEnroll_get_CAStoreFlags_Stub(
  2145.     IRpcStubBuffer *This,
  2146.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2147.     PRPC_MESSAGE _pRpcMessage,
  2148.     DWORD *_pdwStubPhase);
  2149. /* [propput] */ HRESULT STDMETHODCALLTYPE IEnroll_put_CAStoreFlags_Proxy( 
  2150.     IEnroll * This,
  2151.     /* [in] */ LONG dwFlags);
  2152. void __RPC_STUB IEnroll_put_CAStoreFlags_Stub(
  2153.     IRpcStubBuffer *This,
  2154.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2155.     PRPC_MESSAGE _pRpcMessage,
  2156.     DWORD *_pdwStubPhase);
  2157. /* [propget] */ HRESULT STDMETHODCALLTYPE IEnroll_get_RootStoreNameWStr_Proxy( 
  2158.     IEnroll * This,
  2159.     /* [out] */ LPWSTR *szwName);
  2160. void __RPC_STUB IEnroll_get_RootStoreNameWStr_Stub(
  2161.     IRpcStubBuffer *This,
  2162.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2163.     PRPC_MESSAGE _pRpcMessage,
  2164.     DWORD *_pdwStubPhase);
  2165. /* [propput] */ HRESULT STDMETHODCALLTYPE IEnroll_put_RootStoreNameWStr_Proxy( 
  2166.     IEnroll * This,
  2167.     /* [in] */ LPWSTR szwName);
  2168. void __RPC_STUB IEnroll_put_RootStoreNameWStr_Stub(
  2169.     IRpcStubBuffer *This,
  2170.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2171.     PRPC_MESSAGE _pRpcMessage,
  2172.     DWORD *_pdwStubPhase);
  2173. /* [propget] */ HRESULT STDMETHODCALLTYPE IEnroll_get_RootStoreTypeWStr_Proxy( 
  2174.     IEnroll * This,
  2175.     /* [out] */ LPWSTR *szwType);
  2176. void __RPC_STUB IEnroll_get_RootStoreTypeWStr_Stub(
  2177.     IRpcStubBuffer *This,
  2178.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2179.     PRPC_MESSAGE _pRpcMessage,
  2180.     DWORD *_pdwStubPhase);
  2181. /* [propput] */ HRESULT STDMETHODCALLTYPE IEnroll_put_RootStoreTypeWStr_Proxy( 
  2182.     IEnroll * This,
  2183.     /* [in] */ LPWSTR szwType);
  2184. void __RPC_STUB IEnroll_put_RootStoreTypeWStr_Stub(
  2185.     IRpcStubBuffer *This,
  2186.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2187.     PRPC_MESSAGE _pRpcMessage,
  2188.     DWORD *_pdwStubPhase);
  2189. /* [propget] */ HRESULT STDMETHODCALLTYPE IEnroll_get_RootStoreFlags_Proxy( 
  2190.     IEnroll * This,
  2191.     /* [out] */ LONG *pdwFlags);
  2192. void __RPC_STUB IEnroll_get_RootStoreFlags_Stub(
  2193.     IRpcStubBuffer *This,
  2194.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2195.     PRPC_MESSAGE _pRpcMessage,
  2196.     DWORD *_pdwStubPhase);
  2197. /* [propput] */ HRESULT STDMETHODCALLTYPE IEnroll_put_RootStoreFlags_Proxy( 
  2198.     IEnroll * This,
  2199.     /* [in] */ LONG dwFlags);
  2200. void __RPC_STUB IEnroll_put_RootStoreFlags_Stub(
  2201.     IRpcStubBuffer *This,
  2202.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2203.     PRPC_MESSAGE _pRpcMessage,
  2204.     DWORD *_pdwStubPhase);
  2205. /* [propget] */ HRESULT STDMETHODCALLTYPE IEnroll_get_RequestStoreNameWStr_Proxy( 
  2206.     IEnroll * This,
  2207.     /* [out] */ LPWSTR *szwName);
  2208. void __RPC_STUB IEnroll_get_RequestStoreNameWStr_Stub(
  2209.     IRpcStubBuffer *This,
  2210.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2211.     PRPC_MESSAGE _pRpcMessage,
  2212.     DWORD *_pdwStubPhase);
  2213. /* [propput] */ HRESULT STDMETHODCALLTYPE IEnroll_put_RequestStoreNameWStr_Proxy( 
  2214.     IEnroll * This,
  2215.     /* [in] */ LPWSTR szwName);
  2216. void __RPC_STUB IEnroll_put_RequestStoreNameWStr_Stub(
  2217.     IRpcStubBuffer *This,
  2218.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2219.     PRPC_MESSAGE _pRpcMessage,
  2220.     DWORD *_pdwStubPhase);
  2221. /* [propget] */ HRESULT STDMETHODCALLTYPE IEnroll_get_RequestStoreTypeWStr_Proxy( 
  2222.     IEnroll * This,
  2223.     /* [out] */ LPWSTR *szwType);
  2224. void __RPC_STUB IEnroll_get_RequestStoreTypeWStr_Stub(
  2225.     IRpcStubBuffer *This,
  2226.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2227.     PRPC_MESSAGE _pRpcMessage,
  2228.     DWORD *_pdwStubPhase);
  2229. /* [propput] */ HRESULT STDMETHODCALLTYPE IEnroll_put_RequestStoreTypeWStr_Proxy( 
  2230.     IEnroll * This,
  2231.     /* [in] */ LPWSTR szwType);
  2232. void __RPC_STUB IEnroll_put_RequestStoreTypeWStr_Stub(
  2233.     IRpcStubBuffer *This,
  2234.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2235.     PRPC_MESSAGE _pRpcMessage,
  2236.     DWORD *_pdwStubPhase);
  2237. /* [propget] */ HRESULT STDMETHODCALLTYPE IEnroll_get_RequestStoreFlags_Proxy( 
  2238.     IEnroll * This,
  2239.     /* [out] */ LONG *pdwFlags);
  2240. void __RPC_STUB IEnroll_get_RequestStoreFlags_Stub(
  2241.     IRpcStubBuffer *This,
  2242.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2243.     PRPC_MESSAGE _pRpcMessage,
  2244.     DWORD *_pdwStubPhase);
  2245. /* [propput] */ HRESULT STDMETHODCALLTYPE IEnroll_put_RequestStoreFlags_Proxy( 
  2246.     IEnroll * This,
  2247.     /* [in] */ LONG dwFlags);
  2248. void __RPC_STUB IEnroll_put_RequestStoreFlags_Stub(
  2249.     IRpcStubBuffer *This,
  2250.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2251.     PRPC_MESSAGE _pRpcMessage,
  2252.     DWORD *_pdwStubPhase);
  2253. /* [propget] */ HRESULT STDMETHODCALLTYPE IEnroll_get_ContainerNameWStr_Proxy( 
  2254.     IEnroll * This,
  2255.     /* [out] */ LPWSTR *szwContainer);
  2256. void __RPC_STUB IEnroll_get_ContainerNameWStr_Stub(
  2257.     IRpcStubBuffer *This,
  2258.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2259.     PRPC_MESSAGE _pRpcMessage,
  2260.     DWORD *_pdwStubPhase);
  2261. /* [propput] */ HRESULT STDMETHODCALLTYPE IEnroll_put_ContainerNameWStr_Proxy( 
  2262.     IEnroll * This,
  2263.     /* [in] */ LPWSTR szwContainer);
  2264. void __RPC_STUB IEnroll_put_ContainerNameWStr_Stub(
  2265.     IRpcStubBuffer *This,
  2266.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2267.     PRPC_MESSAGE _pRpcMessage,
  2268.     DWORD *_pdwStubPhase);
  2269. /* [propget] */ HRESULT STDMETHODCALLTYPE IEnroll_get_ProviderNameWStr_Proxy( 
  2270.     IEnroll * This,
  2271.     /* [out] */ LPWSTR *szwProvider);
  2272. void __RPC_STUB IEnroll_get_ProviderNameWStr_Stub(
  2273.     IRpcStubBuffer *This,
  2274.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2275.     PRPC_MESSAGE _pRpcMessage,
  2276.     DWORD *_pdwStubPhase);
  2277. /* [propput] */ HRESULT STDMETHODCALLTYPE IEnroll_put_ProviderNameWStr_Proxy( 
  2278.     IEnroll * This,
  2279.     /* [in] */ LPWSTR szwProvider);
  2280. void __RPC_STUB IEnroll_put_ProviderNameWStr_Stub(
  2281.     IRpcStubBuffer *This,
  2282.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2283.     PRPC_MESSAGE _pRpcMessage,
  2284.     DWORD *_pdwStubPhase);
  2285. /* [propget] */ HRESULT STDMETHODCALLTYPE IEnroll_get_ProviderType_Proxy( 
  2286.     IEnroll * This,
  2287.     /* [out] */ LONG *pdwType);
  2288. void __RPC_STUB IEnroll_get_ProviderType_Stub(
  2289.     IRpcStubBuffer *This,
  2290.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2291.     PRPC_MESSAGE _pRpcMessage,
  2292.     DWORD *_pdwStubPhase);
  2293. /* [propput] */ HRESULT STDMETHODCALLTYPE IEnroll_put_ProviderType_Proxy( 
  2294.     IEnroll * This,
  2295.     /* [in] */ LONG dwType);
  2296. void __RPC_STUB IEnroll_put_ProviderType_Stub(
  2297.     IRpcStubBuffer *This,
  2298.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2299.     PRPC_MESSAGE _pRpcMessage,
  2300.     DWORD *_pdwStubPhase);
  2301. /* [propget] */ HRESULT STDMETHODCALLTYPE IEnroll_get_KeySpec_Proxy( 
  2302.     IEnroll * This,
  2303.     /* [out] */ LONG *pdw);
  2304. void __RPC_STUB IEnroll_get_KeySpec_Stub(
  2305.     IRpcStubBuffer *This,
  2306.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2307.     PRPC_MESSAGE _pRpcMessage,
  2308.     DWORD *_pdwStubPhase);
  2309. /* [propput] */ HRESULT STDMETHODCALLTYPE IEnroll_put_KeySpec_Proxy( 
  2310.     IEnroll * This,
  2311.     /* [in] */ LONG dw);
  2312. void __RPC_STUB IEnroll_put_KeySpec_Stub(
  2313.     IRpcStubBuffer *This,
  2314.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2315.     PRPC_MESSAGE _pRpcMessage,
  2316.     DWORD *_pdwStubPhase);
  2317. /* [propget] */ HRESULT STDMETHODCALLTYPE IEnroll_get_ProviderFlags_Proxy( 
  2318.     IEnroll * This,
  2319.     /* [out] */ LONG *pdwFlags);