Condividi tramite


Metodo ICEnroll4::GetKeyLenEx (xenroll.h)

[Questo metodo non è più disponibile per l'uso a partire da Windows Server 2008 e Windows Vista.]

Il metodo GetKeyLenEx recupera le informazioni sulle dimensioni per le chiavi di firma e scambio. Questo metodo è stato definito per la prima volta nell'interfaccia ICEnroll4 .

I valori recuperati da questo metodo dipendono dal provider di servizi di crittografia corrente.

Sintassi

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

Parametri

[in] lSizeSpec

Valore che indica il tipo di informazioni sulle dimensioni da recuperare. Questo parametro può avere uno dei valori seguenti.

Valore Significato
XEKL_KEYSIZE_MIN
Dimensione minima della chiave.
XEKL_KEYSIZE_MAX
Dimensione massima della chiave.
XEKL_KEYSIZE_INC
Dimensioni dell'incremento della chiave. Per altre informazioni, vedere la sezione Osservazioni.

[in] lKeySpec

Specifica la chiave per cui vengono restituite le informazioni sulle dimensioni. Questo parametro può avere uno dei valori seguenti.

Valore Significato
XEKL_KEYSPEC_KEYX
Chiave di Exchange
XEKL_KEYSPEC_SIG
Chiave di firma

[out] pdwKeySize

Puntatore a una variabile che riceve le dimensioni della chiave, in bit.

Valore restituito

C++

Se il metodo ha esito positivo, il metodo restituisce S_OK.

Se il metodo ha esito negativo, restituisce un valore HRESULT che indica l'errore. Per un elenco di codici di errore comuni, vedere Valori HRESULT comuni.

VB

Valore che rappresenta le dimensioni della chiave, in bit.

Commenti

Se il CSP non supporta questo metodo, viene restituito un errore.

Per altre informazioni sul valore di XEKL_KEYSIZE_INC, vedere PP_SIG_KEYSIZE_INC utilizzo nella pagina di riferimento CryptGetProvParam .

Esempio

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

Requisiti

Requisito Valore
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione xenroll.h
Libreria Uuid.lib
DLL Xenroll.dll