IAlternativeName 接口在 Windows 操作系统的 CertEnroll.h 头文件中定义,用于表示证书请求或证书中的备用名称(Alternative Name)。以下是该接口的定义:
interface IAlternativeName : IDispatch
{
    HRESULT InitializeEncode(
        CAPICOM_ENCODING_TYPE EncodingType,
        VARIANT const & varData);

    HRESULT InitializeDecode(
        CAPICOM_ENCODING_TYPE EncodingType,
        VARIANT const & varData);

    HRESULT GetNameCount(
        CAPICOM_NAME_TYPE NameType,
        long * pVal);

    HRESULT GetName(
        CAPICOM_NAME_TYPE NameType,
        long Index,
        BSTR * pVal);

    HRESULT Add(
        CAPICOM_NAME_TYPE NameType,
        BSTR strName);

    HRESULT Remove(
        CAPICOM_NAME_TYPE NameType,
        long Index);

    HRESULT Clear();
};

这个接口继承自 IDispatch 接口,提供了一些用于处理备用名称的方法。以下是一些关键方法的说明:

  •  InitializeEncode:用于初始化备用名称以进行编码。

  •  InitializeDecode:用于初始化备用名称以进行解码。

  •  GetNameCount:获取指定类型备用名称的数量。

  •  GetName:获取指定类型备用名称的值。

  •  Add:添加备用名称。

  •  Remove:移除指定类型备用名称。

  •  Clear:清除所有备用名称。


这个接口通常用于处理证书请求或证书中的备用名称,如 Subject Alternative Name(主体备用名称)或 Issuer Alternative Name(颁发者备用名称)。


转载请注明出处:http://www.pingtaimeng.com/article/detail/24180/Win32 API/Certenroll.h/IAlternativeName