Метод 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
Значение типа , представляющее размер ключа в битах.Комментарии
Если поставщик служб конфигурации не поддерживает этот метод, возвращается ошибка.
Дополнительные сведения о значении XEKL_KEYSIZE_INC см. в разделе использование PP_SIG_KEYSIZE_INC на справочной странице CryptGetProvParam .
Примеры
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 |
Header | xenroll.h |
Библиотека | Uuid.lib |
DLL | Xenroll.dll |