ICEnroll3::GetAlgName 方法 (xenroll.h)

[此方法在 Windows Server 2008 和 Windows Vista 中不再可用。]

GetAlgName 方法在给定其 ID 的情况下检索加密算法的名称。 此方法检索的值取决于当前 加密服务提供程序 (CSP) 。 此方法首先在 ICEnroll3 接口中定义。

语法

HRESULT GetAlgName(
  [in]  LONG algID,
  [out] BSTR *pbstr
);

参数

[in] algID

一个值,该值表示 Wincrypt.h 中定义的加密算法。 例如,CALG_MD2 是定义的算法标识符。 若要使此方法成功,当前 CSP 必须支持 algID 算法。

[out] pbstr

成功后,指向 BSTR 的指针,表示 algID 指定的算法的名称。 使用完 BSTR 后,通过调用 SysFreeString 函数来释放它。

返回值

C++

返回值为 HRESULT。 值为 S_OK 表示成功。 如果 CSP 不支持此方法或不支持 algID 加密算法,则返回错误。

VB

返回值是一个字符串,表示 algID 指定的算法的名称。 如果 CSP 不支持此方法,则返回错误。

注解

此方法可用于显示通过调用 EnumAlgs 检索其 ID 的算法的名称。

加密算法的常量在 Wincrypt.h 中定义。

示例

BSTR      bstrAlgName = NULL;

HRESULT   hr;

// Retrieve the algorithm name.
// dwAlgID is a DWORD variable for an algorithm ID.
hr = pEnroll->GetAlgName( dwAlgID, &bstrAlgName);
if (FAILED(hr))
    printf("Failed GetAlgName [%x]\n", hr);
else
    printf("AlgID: %d Name: %S\n", dwAlgID, bstrAlgName );

// Free BSTR resource.
if ( NULL != bstrAlgName )
{
    SysFreeString( bstrAlgName );
    bstrAlgName = NULL;
}

要求

要求
最低受支持的客户端 Windows XP [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows
标头 xenroll.h
Library Uuid.lib
DLL Xenroll.dll

另请参阅

CEnroll

EnumAlgs

ICEnroll3

ICEnroll4