ICEnroll4::GetKeyLenEx 方法 (xenroll.h)
[此方法在 Windows Server 2008 和 Windows Vista 中不再可用。]
GetKeyLenEx 方法检索签名和交换密钥的大小信息。 此方法首先在 ICEnroll4 接口中定义。
此方法检索的值取决于当前 加密服务提供程序 (CSP) 。
语法
HRESULT GetKeyLenEx(
[in] LONG lSizeSpec,
[in] LONG lKeySpec,
[out] LONG *pdwKeySize
);
参数
[in] lSizeSpec
一个 值,该值指示要检索的大小信息的类型。 此参数的取值可为下列值之一:
值 | 含义 |
---|---|
|
最小密钥大小。 |
|
最大密钥大小。 |
|
键增量的大小。 有关详细信息,请参阅“备注”。 |
[in] lKeySpec
指定为其返回大小信息的键。 此参数的取值可为下列值之一:
值 | 含义 |
---|---|
|
Exchange 密钥 |
|
签名密钥 |
[out] pdwKeySize
指向接收密钥大小的变量(以位为单位)的指针。
返回值
C++
如果方法成功,该方法将返回S_OK。如果方法失败,它将返回一个 指示错误的 HRESULT 值。 有关常见错误代码的列表,请参阅 通用 HRESULT 值。
VB
一个 值,该值表示密钥大小(以位为单位)。注解
如果 CSP 不支持此方法,则返回错误。
有关XEKL_KEYSIZE_INC值的详细信息,请参阅 CryptGetProvParam 参考页中的PP_SIG_KEYSIZE_INC用法。
示例
DWORD dwExchMin, dwExchMax, dwSignDef, dwSignInc;
// Determine the minimum and maximum key length values.
// hr is HRESULT variable.
hr = pEnroll4->GetKeyLenEx( XEKL_KEYSIZE_MIN,
XEKL_KEYSPEC_KEYX,
&dwExchMin );
if ( FAILED( hr ) )
printf("Failed GetKeyLenEx for Exchange Minimum [%x]\n", hr);
else
printf("Exchange key Min: %d\n", dwExchMin);
hr = pEnroll4->GetKeyLenEx( XEKL_KEYSIZE_MAX,
XEKL_KEYSPEC_KEYX,
&dwExchMax );
if ( FAILED( hr ) )
printf("Failed GetKeyLenEx for Exchange Maximum [%x]\n", hr);
else
printf("Exchange key Max: %d\n", dwExchMax );
hr = pEnroll4->GetKeyLenEx( XEKL_KEYSIZE_DEFAULT,
XEKL_KEYSPEC_SIG,
&dwSignDef );
if ( FAILED( hr ) )
printf("Failed GetKeyLenEx for Signature Default "
"Key size [%x]\n", hr);
else
printf("Signature key default size: %d\n", dwSignDef );
hr = pEnroll4->GetKeyLenEx( XEKL_KEYSIZE_INC,
XEKL_KEYSPEC_SIG,
&dwSignInc );
if ( FAILED( hr ) )
printf("Failed GetKeyLenEx for Signature "
"Key Size Increment [%x]\n", hr);
else
printf("Signature key increment size: %d\n", dwSignInc );
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | xenroll.h |
Library | Uuid.lib |
DLL | Xenroll.dll |