Método ICEnroll3::EnumAlgs (xenroll.h)
[Esse método não está mais disponível para uso desde o Windows Server 2008 e o Windows Vista.]
O método EnumAlgs recupera as IDs de algoritmos criptográficos em uma determinada classe de algoritmo compatível com o CSP ( provedor de serviços criptográficos ) atual. Esse método foi definido pela primeira vez na interface ICEnroll3 .
Sintaxe
HRESULT EnumAlgs(
[in] LONG dwIndex,
[in] LONG algClass,
[out] LONG *pdwAlgID
);
Parâmetros
[in] dwIndex
Especifica a posição ordinal do algoritmo cuja ID será recuperada. Especifique zero para o primeiro algoritmo.
[in] algClass
Uma classe de algoritmo criptográfico. As IDs retornadas por esse método estarão na classe especificada. Especifique um dos seguintes:
- ALG_CLASS_HASH
- ALG_CLASS_KEY_EXCHANGE
- ALG_CLASS_MSG_ENCRYPT
- ALG_CLASS_DATA_ENCRYPT
- ALG_CLASS_SIGNATURE
[out] pdwAlgID
Um ponteiro para uma variável para receber uma ID de algoritmo criptográfico compatível com o CSP atual.
Retornar valor
C++
O valor retornado é um HRESULT. Um valor de S_OK indica êxito. Quando não há mais algoritmos para enumerar, o valor ERROR_NO_MORE_ITEMS é retornado.VB
Uma ID de algoritmo criptográfico compatível com o CSP atual. Quando não há mais algoritmos para enumerar, o valor ERROR_NO_MORE_ITEMS é retornado.Comentários
Para obter a ID do algoritmo e as constantes de classe usadas por esse método, consulte Wincrypt.h.
Exemplos
#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++;
}
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows XP [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2003 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | xenroll.h |
Biblioteca | Uuid.lib |
DLL | Xenroll.dll |