Compartilhar via


Método ICEnroll4::GetKeyLenEx (xenroll.h)

[Esse método não está mais disponível para uso desde o Windows Server 2008 e o Windows Vista.]

O método GetKeyLenEx recupera informações de tamanho para as chaves de assinatura e troca. Esse método foi definido pela primeira vez na interface ICEnroll4 .

Os valores recuperados por esse método dependem do CSP ( provedor de serviços criptográficos ) atual.

Sintaxe

HRESULT GetKeyLenEx(
  [in]  LONG lSizeSpec,
  [in]  LONG lKeySpec,
  [out] LONG *pdwKeySize
);

Parâmetros

[in] lSizeSpec

Um valor que indica o tipo de informações de tamanho a serem recuperadas. Esse parâmetro pode usar um dos valores a seguir.

Valor Significado
XEKL_KEYSIZE_MIN
O tamanho mínimo da chave.
XEKL_KEYSIZE_MAX
O tamanho máximo da chave.
XEKL_KEYSIZE_INC
O tamanho do incremento da chave. Para obter mais informações, consulte Comentários.

[in] lKeySpec

Especifica a chave para a qual as informações de tamanho são retornadas. Esse parâmetro pode usar um dos valores a seguir.

Valor Significado
XEKL_KEYSPEC_KEYX
Chave do Exchange
XEKL_KEYSPEC_SIG
Chave de assinatura

[out] pdwKeySize

Um ponteiro para uma variável que recebe o tamanho da chave, em bits.

Retornar valor

C++

Se o método for bem-sucedido, o método retornará S_OK.

Se o método falhar, ele retornará um valor HRESULT que indica o erro. Para obter uma lista de códigos de erro comuns, consulte Valores HRESULT comuns.

VB

Um valor que representa o tamanho da chave, em bits.

Comentários

Se o CSP não der suporte a esse método, um erro será retornado.

Para obter mais informações sobre o valor de XEKL_KEYSIZE_INC, consulte PP_SIG_KEYSIZE_INC uso na página de referência CryptGetProvParam .

Exemplos

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 );

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho xenroll.h
Biblioteca Uuid.lib
DLL Xenroll.dll