Freigeben über


NCryptEnumAlgorithms-Funktion (ncrypt.h)

Die NCryptEnumAlgorithms-Funktion ruft die Namen der Algorithmen ab, die vom angegebenen Schlüsselspeicheranbieter unterstützt werden.

Syntax

SECURITY_STATUS NCryptEnumAlgorithms(
  [in]  NCRYPT_PROV_HANDLE  hProvider,
  [in]  DWORD               dwAlgOperations,
  [out] DWORD               *pdwAlgCount,
  [out] NCryptAlgorithmName **ppAlgList,
  [in]  DWORD               dwFlags
);

Parameter

[in] hProvider

Das Handle des Schlüsselspeicheranbieters, für den die Algorithmen aufgelistet werden sollen. Dieses Handle wird mit der Funktion NCryptOpenStorageProvider abgerufen.

[in] dwAlgOperations

Eine Gruppe von Werten, die bestimmen, welche Algorithmusklassen aufgelistet werden sollen. Dies kann null oder eine Kombination aus einem oder mehreren der folgenden Werte sein. Wenn dwAlgOperations null ist, werden alle Algorithmen aufgelistet.

Wert Bedeutung
NCRYPT_CIPHER_OPERATION
0x00000001
Führen Sie die Verschlüsselungsalgorithmen (symmetrische Verschlüsselung) auf.
NCRYPT_HASH_OPERATION
0x00000002
Enumerieren Sie die Hashingalgorithmen.
NCRYPT_ASYMMETRIC_ENCRYPTION_OPERATION
0x00000004
Führen Sie die asymmetrischen Verschlüsselungsalgorithmen auf.
NCRYPT_SECRET_AGREEMENT_OPERATION
0x00000008
Enumerieren Sie die Algorithmen für geheime Vereinbarungen.
NCRYPT_SIGNATURE_OPERATION
0x00000010
Listet die Algorithmen für die digitale Signatur auf.

[out] pdwAlgCount

Die Adresse eines DWORD-Elements , das die Anzahl der Elemente im ppAlgList-Array empfängt.

[out] ppAlgList

Die Adresse eines NCryptAlgorithmName-Strukturzeigers , der ein Array der registrierten Algorithmusnamen empfängt. Die Variable, auf die der parameter pdwAlgCount verweist, empfängt die Anzahl der Elemente in diesem Array.

Wenn dieser Speicher nicht mehr benötigt wird, muss er durch Übergeben dieses Zeigers an die NCryptFreeBuffer-Funktion freigegeben werden.

[in] dwFlags

Flags, die das Funktionsverhalten ändern. Dies kann null (0) oder der folgende Wert sein.

Wert Bedeutung
NCRYPT_SILENT_FLAG
Fordert an, dass der Schlüsseldienstanbieter (Key Service Provider, KSP) keine Benutzeroberfläche anzeigt. Wenn der Anbieter die Benutzeroberfläche anzeigen muss, um zu funktionieren, schlägt der Aufruf fehl, und der KSP sollte den NTE_SILENT_CONTEXT Fehlercode als letzten Fehler festlegen.

Rückgabewert

Gibt einen status Code zurück, der den Erfolg oder Fehler der Funktion angibt.

Mögliche Rückgabecodes umfassen folgendes, sind aber nicht darauf beschränkt.

Rückgabecode Beschreibung
ERROR_SUCCESS
Die Funktion war erfolgreich.
NTE_BAD_FLAGS
Der dwFlags-Parameter enthält einen wert, der ungültig ist.
NTE_INVALID_HANDLE
Der hProvider-Parameter ist ungültig.
NTE_INVALID_PARAMETER
Mindestens ein Parameter ist ungültig.
NTE_NO_MEMORY
Ein Fehler bei der Speicherzuordnung ist aufgetreten.

Hinweise

Ein Dienst darf diese Funktion nicht über seine StartService-Funktion aufrufen. Wenn ein Dienst diese Funktion über seine StartService-Funktion aufruft, kann ein Deadlock auftreten, und der Dienst reagiert möglicherweise nicht mehr.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows Vista [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile ncrypt.h
Bibliothek Ncrypt.lib
DLL Ncrypt.dll