Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
[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 |