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 |