Share via


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

[Este método ya no está disponible para su uso a partir de Windows Server 2008 y Windows Vista.]

El método GetKeyLenEx recupera información de tamaño para la firma y las claves de intercambio. Este método se definió por primera vez en la interfaz ICEnroll4 .

Los valores recuperados por este método dependen del proveedor de servicios criptográficos (CSP) actual.

Sintaxis

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

Parámetros

[in] lSizeSpec

Valor que indica el tipo de información de tamaño que se va a recuperar. Este parámetro puede ser uno de los valores siguientes.

Valor Significado
XEKL_KEYSIZE_MIN
Tamaño mínimo de clave.
XEKL_KEYSIZE_MAX
Tamaño máximo de clave.
XEKL_KEYSIZE_INC
Tamaño del incremento de clave. Para obtener más información, vea la sección Comentarios.

[in] lKeySpec

Especifica la clave para la que se devuelve información de tamaño. Este parámetro puede ser uno de los valores siguientes.

Valor Significado
XEKL_KEYSPEC_KEYX
Clave de intercambio
XEKL_KEYSPEC_SIG
Clave de firma

[out] pdwKeySize

Puntero a una variable que recibe el tamaño de la clave, en bits.

Valor devuelto

C++

Si el método se realiza correctamente, el método devuelve S_OK.

Si se produce un error en el método, devuelve un valor HRESULT que indica el error. Para obtener una lista de códigos de error comunes, consulte Valores HRESULT comunes.

VB

Valor que representa el tamaño de la clave, en bits.

Comentarios

Si el CSP no admite este método, se devuelve un error.

Para obtener más información sobre el valor de XEKL_KEYSIZE_INC, vea PP_SIG_KEYSIZE_INC uso en la página de referencia de CryptGetProvParam .

Ejemplos

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 Value
Cliente mínimo compatible Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado xenroll.h
Library Uuid.lib
Archivo DLL Xenroll.dll