Partager via


MÉTHODE ICEnroll4 ::GetKeyLenEx (xenroll.h)

[Cette méthode n’est plus disponible à partir de Windows Server 2008 et Windows Vista.]

La méthode GetKeyLenEx récupère les informations de taille pour la signature et les clés d’échange. Cette méthode a d’abord été définie dans l’interface ICEnroll4 .

Les valeurs récupérées par cette méthode dépendent du fournisseur de services de chiffrement (CSP) actuel.

Syntaxe

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

Paramètres

[in] lSizeSpec

Valeur qui indique le type d’informations de taille à récupérer. Ce paramètre peut prendre les valeurs suivantes.

Valeur Signification
XEKL_KEYSIZE_MIN
Taille de clé minimale.
XEKL_KEYSIZE_MAX
Taille de clé maximale.
XEKL_KEYSIZE_INC
Taille de l’incrément de clé. Pour plus d'informations, consultez la section Notes.

[in] lKeySpec

Spécifie la clé pour laquelle les informations de taille sont retournées. Ce paramètre peut prendre les valeurs suivantes.

Valeur Signification
XEKL_KEYSPEC_KEYX
Clé Exchange
XEKL_KEYSPEC_SIG
Clé de signature

[out] pdwKeySize

Pointeur vers une variable qui reçoit la taille de clé, en bits.

Valeur retournée

C++

Si la méthode réussit, la méthode retourne S_OK.

Si la méthode échoue, elle retourne une valeur HRESULT qui indique l’erreur. Pour obtenir la liste des codes d’erreur courants, consultez Valeurs HRESULT courantes.

VB

Valeur qui représente la taille de la clé, en bits.

Remarques

Si le fournisseur de solutions cloud ne prend pas en charge cette méthode, une erreur est retournée.

Pour plus d’informations sur la valeur XEKL_KEYSIZE_INC, consultez utilisation PP_SIG_KEYSIZE_INC dans la page de référence CryptGetProvParam .

Exemples

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

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
Plateforme cible Windows
En-tête xenroll.h
Bibliothèque Uuid.lib
DLL Xenroll.dll