ICEnroll3::EnumAlgs-Methode (xenroll.h)
[Diese Methode ist ab Windows Server 2008 und Windows Vista nicht mehr verfügbar.]
Die EnumAlgs-Methode ruft die IDs von kryptografischen Algorithmen in einer bestimmten Algorithmusklasse ab, die vom aktuellen Kryptografiedienstanbieter (CSP) unterstützt werden. Diese Methode wurde zuerst in der ICEnroll3-Schnittstelle definiert.
Syntax
HRESULT EnumAlgs(
[in] LONG dwIndex,
[in] LONG algClass,
[out] LONG *pdwAlgID
);
Parameter
[in] dwIndex
Gibt die Ordnungsposition des Algorithmus an, dessen ID abgerufen wird. Geben Sie null für den ersten Algorithmus an.
[in] algClass
Eine kryptografische Algorithmusklasse. Die von dieser Methode zurückgegebenen IDs sind in der angegebenen Klasse enthalten. Geben Sie eine der folgenden Optionen an:
- ALG_CLASS_HASH
- ALG_CLASS_KEY_EXCHANGE
- ALG_CLASS_MSG_ENCRYPT
- ALG_CLASS_DATA_ENCRYPT
- ALG_CLASS_SIGNATURE
[out] pdwAlgID
Ein Zeiger auf eine Variable zum Empfangen einer kryptografischen Algorithmus-ID, die vom aktuellen CSP unterstützt wird.
Rückgabewert
C++
Der Rückgabewert ist ein HRESULT. Der Wert S_OK gibt den Erfolg an. Wenn keine weiteren Algorithmen aufgelistet werden müssen, wird der Wert ERROR_NO_MORE_ITEMS zurückgegeben.VB
Eine kryptografische Algorithmus-ID, die vom aktuellen CSP unterstützt wird. Wenn keine weiteren Algorithmen aufgelistet werden müssen, wird der Wert ERROR_NO_MORE_ITEMS zurückgegeben.Hinweise
Informationen zu Algorithmus-ID und Klassenkonstanten, die von dieser Methode verwendet werden, finden Sie unter Wincrypt.h.
Beispiele
#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++;
}
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows XP [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2003 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | xenroll.h |
Bibliothek | Uuid.lib |
DLL | Xenroll.dll |