Partager via


ICEnroll3 ::EnumAlgs, méthode (xenroll.h)

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

La méthode EnumAlgs récupère les ID d’algorithmes de chiffrement dans une classe d’algorithme donnée qui sont pris en charge par le fournisseur de services de chiffrement (CSP) actuel. Cette méthode a d’abord été définie dans l’interface ICEnroll3 .

Syntaxe

HRESULT EnumAlgs(
  [in]  LONG dwIndex,
  [in]  LONG algClass,
  [out] LONG *pdwAlgID
);

Paramètres

[in] dwIndex

Spécifie la position ordinale de l’algorithme dont l’ID sera récupéré. Spécifiez zéro pour le premier algorithme.

[in] algClass

Classe d’algorithme de chiffrement. Les ID retournés par cette méthode seront dans la classe spécifiée. Spécifiez l'une des valeurs suivantes :

  • ALG_CLASS_HASH
  • ALG_CLASS_KEY_EXCHANGE
  • ALG_CLASS_MSG_ENCRYPT
  • ALG_CLASS_DATA_ENCRYPT
  • ALG_CLASS_SIGNATURE

[out] pdwAlgID

Pointeur vers une variable pour recevoir un ID d’algorithme de chiffrement pris en charge par le fournisseur de solutions cloud actuel.

Valeur retournée

C++

La valeur de retour est HRESULT. Une valeur de S_OK indique la réussite. Lorsqu’il n’y a plus d’algorithmes à énumérer, la valeur ERROR_NO_MORE_ITEMS est retournée.

VB

ID d’algorithme de chiffrement pris en charge par le fournisseur de solutions cloud actuel. Lorsqu’il n’y a plus d’algorithmes à énumérer, la valeur ERROR_NO_MORE_ITEMS est retournée.

Remarques

Pour connaître l’ID d’algorithme et les constantes de classe utilisées par cette méthode, consultez Wincrypt.h.

Exemples

#include <windows.h>
#include <stdio.h>
#include <Xenroll.h>

DWORD     dwAlgID;
DWORD     dwIndex;

BSTR      bstrAlgName = NULL;

HRESULT   hr, hr2;

// Loop through the AlgIDs.
dwIndex = 0;
while ( TRUE )
{
    // Enumerate the alg IDs for a specific class.
    hr = pEnroll->EnumAlgs(dwIndex, ALG_CLASS_SIGNATURE, &dwAlgID);
    if ( S_OK != hr )
    {
       break;
    }

    // Do something with the AlgID.
    // For example, retrieve the corresponding name.
    hr2 = pEnroll->GetAlgName( dwAlgID, &bstrAlgName);
    if ( FAILED( hr2 ) )    
        printf("Failed GetAlgName [%x]\n", hr);
    else
        printf("AlgID: %d Name: %S\n", dwAlgID, bstrAlgName );

    // Reuse the BSTR variable in next iteration.
    if ( NULL != bstrAlgName )
    {
        SysFreeString( bstrAlgName );
        bstrAlgName = NULL;
    }

    // Increment the index.
    dwIndex++;
}


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

Voir aussi

CEnroll

ICEnroll3

ICEnroll4