Поделиться через


Метод 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
Header xenroll.h
Библиотека Uuid.lib
DLL Xenroll.dll

См. также раздел

CEnroll

ICEnroll3

ICEnroll4