ICEnroll3::GetKeyLen 方法 (xenroll.h)
[此方法在 Windows Server 2008 和 Windows Vista 中不再可用。]
GetKeyLen 方法检索签名和交换密钥的最小和最大密钥长度。 此方法首先在 ICEnroll3 接口中定义。 此方法检索的值依赖于当前的 加密服务提供程序。
语法
HRESULT GetKeyLen(
[in] BOOL fMin,
[in] BOOL fExchange,
[out] LONG *pdwKeySize
);
参数
[in] fMin
指示检索最小或最大) (密钥长度的布尔值。 如果 fMin 为 TRUE,则检索最小密钥长度;如果为 FALSE,则检索最大密钥长度。
[in] fExchange
指示键类型的布尔值。 如果 fExchange 为 TRUE,则检索交换密钥长度;如果为 FALSE,则检索签名密钥长度。
[out] pdwKeySize
接收密钥的最小或最大长度(以位为单位)的指针。
返回值
C++
如果方法成功,该方法将返回S_OK,*pdwKeySize 将是表示密钥最小或最大长度) 位 (长度的值。如果方法失败,它将返回一个 指示错误的 HRESULT 值。 有关常见错误代码的列表,请参阅 通用 HRESULT 值。
VB
一个 值,该值表示键的最小或最大长度的长度(以位为单位)。注解
调用此方法可确定最小和最大密钥长度。 如果 CSP 不支持此方法,则返回错误。
示例
DWORD dwExchMin, dwExchMax, dwSignMin, dwSignMax;
// Determine the minimum and maximum key length values.
// hr is HRESULT variable.
hr = pEnroll->GetKeyLen( TRUE, TRUE, &dwExchMin );
if ( FAILED( hr ) )
printf("Failed GetKeyLen for Exchange Minimum [%x]\n", hr);
else
printf("Exchange key Min: %d\n", dwExchMin);
hr = pEnroll->GetKeyLen( FALSE, TRUE, &dwExchMax );
if ( FAILED( hr ) )
printf("Failed GetKeyLen for Exchange Maximum [%x]\n", hr);
else
printf("Exchange key Max: %d\n", dwExchMax );
hr = pEnroll->GetKeyLen( TRUE, FALSE, &dwSignMin );
if ( FAILED( hr ) )
printf("Failed GetKeyLen for Signature Minimum [%x]\n", hr);
else
printf("Signature key Min: %d\n", dwSignMin );
hr = pEnroll->GetKeyLen( FALSE, FALSE, &dwSignMax );
if ( FAILED( hr ) )
printf("Failed GetKeyLen for Signature Maximum [%x]\n", hr);
else
printf("Signature key Max: %d\n", dwSignMax );
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | xenroll.h |
Library | Uuid.lib |
DLL | Xenroll.dll |