Metodo ICEnroll3::EnumAlgs (xenroll.h)
[Questo metodo non è più disponibile per l'uso a partire da Windows Server 2008 e Windows Vista.]
Il metodo EnumAlgs recupera gli ID degli algoritmi crittografici in una determinata classe di algoritmo supportata dal provider di servizi di crittografia corrente. Questo metodo è stato definito per la prima volta nell'interfaccia ICEnroll3 .
Sintassi
HRESULT EnumAlgs(
[in] LONG dwIndex,
[in] LONG algClass,
[out] LONG *pdwAlgID
);
Parametri
[in] dwIndex
Specifica la posizione ordinale dell'algoritmo il cui ID verrà recuperato. Specificare zero per il primo algoritmo.
[in] algClass
Classe di algoritmo crittografico. Gli ID restituiti da questo metodo saranno nella classe specificata. Specificare uno dei valori seguenti:
- ALG_CLASS_HASH
- ALG_CLASS_KEY_EXCHANGE
- ALG_CLASS_MSG_ENCRYPT
- ALG_CLASS_DATA_ENCRYPT
- ALG_CLASS_SIGNATURE
[out] pdwAlgID
Puntatore a una variabile per ricevere un ID algoritmo crittografico supportato dal CSP corrente.
Valore restituito
C++
Il valore restituito è un HRESULT. Un valore di S_OK indica l'esito positivo. Quando non sono presenti più algoritmi da enumerare, viene restituito il valore ERROR_NO_MORE_ITEMS.VB
ID dell'algoritmo crittografico supportato dal CSP corrente. Quando non sono presenti più algoritmi da enumerare, viene restituito il valore ERROR_NO_MORE_ITEMS.Commenti
Per le costanti dell'ID dell'algoritmo e della classe usate da questo metodo, vedere Wincrypt.h.
Esempio
#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++;
}
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 |