在 Certenroll.h 头文件中,ICryptAttributes 接口用于处理加密属性集合。以下是 ICryptAttributes 接口的一些基本信息:
interface ICryptAttributes : IDispatch
{
public:
    virtual HRESULT STDMETHODCALLTYPE Initialize( 
        /* [retval][out] */ __RPC__out VARIANT *pValue) = 0;
    
    virtual HRESULT STDMETHODCALLTYPE InitializeEncode( 
        /* [in] */ __RPC__in VARIANT *pValue) = 0;
    
    virtual HRESULT STDMETHODCALLTYPE Decode( 
        /* [in] */ __RPC__in VARIANT *pValue) = 0;
    
    virtual HRESULT STDMETHODCALLTYPE DecodeBlob( 
        /* [in] */ __RPC__in VARIANT *pValue) = 0;
    
    virtual HRESULT STDMETHODCALLTYPE GetInfo( 
        /* [retval][out] */ __RPC__deref_out_opt BSTR *pstrOut) = 0;
    
    virtual HRESULT STDMETHODCALLTYPE SetInfo( 
        /* [in] */ __RPC__in const BSTR strIn) = 0;
    
    virtual HRESULT STDMETHODCALLTYPE GetInfoBlob( 
        /* [retval][out] */ __RPC__deref_out_opt BSTR *pstrOut) = 0;
    
    virtual HRESULT STDMETHODCALLTYPE SetInfoBlob( 
        /* [in] */ __RPC__in const BSTR strIn) = 0;
    
    virtual HRESULT STDMETHODCALLTYPE GetInfoFlags( 
        /* [retval][out] */ __RPC__deref_out_opt BSTR *pstrOut) = 0;
    
    virtual HRESULT STDMETHODCALLTYPE SetInfoFlags( 
        /* [in] */ __RPC__in const BSTR strIn) = 0;
    
    virtual HRESULT STDMETHODCALLTYPE GetStringProperty( 
        /* [retval][out] */ __RPC__deref_out_opt BSTR *pstrOut) = 0;
    
    virtual HRESULT STDMETHODCALLTYPE SetStringProperty( 
        /* [in] */ __RPC__in const BSTR strIn) = 0;
    
    virtual HRESULT STDMETHODCALLTYPE GetDateProperty( 
        /* [retval][out] */ __RPC__out DATE *pDateOut) = 0;
    
    virtual HRESULT STDMETHODCALLTYPE SetDateProperty( 
        /* [in] */ DATE DateIn) = 0;
    
    virtual HRESULT STDMETHODCALLTYPE GetLongProperty( 
        /* [retval][out] */ __RPC__out LONG *pLongOut) = 0;
    
    virtual HRESULT STDMETHODCALLTYPE SetLongProperty( 
        /* [in] */ LONG LongIn) = 0;
    
    virtual HRESULT STDMETHODCALLTYPE GetProperty( 
        /* [retval][out] */ __RPC__out VARIANT *pvarProperty) = 0;
    
    virtual HRESULT STDMETHODCALLTYPE SetProperty( 
        /* [in] */ __RPC__in const VARIANT *pvarProperty) = 0;
    
    virtual HRESULT STDMETHODCALLTYPE AddAttribute( 
        /* [in] */ __RPC__in_opt ICryptAttribute *pValue) = 0;
    
    virtual HRESULT STDMETHODCALLTYPE RemoveAttribute( 
        /* [in] */ __RPC__in_opt ICryptAttribute *pValue) = 0;
    
    virtual HRESULT STDMETHODCALLTYPE Clear( void) = 0;
    
    virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
        /* [retval][out] */ __RPC__out LONG *pValue) = 0;
};

这个接口包含了多个方法,用于初始化、编码、解码、获取和设置加密属性集合的各种信息。它还包括了添加、移除、清空属性的方法,以及获取属性集合中属性的数量。要正确使用这个接口,你可能需要详细查阅 Microsoft 的文档或者参考相关的示例代码。


转载请注明出处:http://www.zyzy.cn/article/detail/24199/Win32 API/Certenroll.h/ICryptAttributes