Funzione NCryptEnumAlgorithms (ncrypt.h)

La funzione NCryptEnumAlgorithms ottiene i nomi degli algoritmi supportati dal provider di archiviazione delle chiavi specificato.

Sintassi

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

Parametri

[in] hProvider

Handle del provider di archiviazione delle chiavi per enumerare gli algoritmi per. Questo handle viene ottenuto con la funzione NCryptOpenStorageProvider .

[in] dwAlgOperations

Set di valori che determinano le classi di algoritmo da enumerare. Questo può essere zero o una combinazione di uno o più dei valori seguenti. Se dwAlgOperations è zero, tutti gli algoritmi vengono enumerati.

Valore Significato
NCRYPT_CIPHER_OPERATION
0x00000001
Enumera gli algoritmi di crittografia (crittografia simmetrica).
NCRYPT_HASH_OPERATION
0x00000002
Enumerare gli algoritmi di hashing.
NCRYPT_ASYMMETRIC_ENCRYPTION_OPERATION
0x00000004
Enumerare gli algoritmi di crittografia asimmetrica.
NCRYPT_SECRET_AGREEMENT_OPERATION
0x00000008
Enumera gli algoritmi del contratto segreto.
NCRYPT_SIGNATURE_OPERATION
0x00000010
Enumera gli algoritmi di firma digitale.

[out] pdwAlgCount

Indirizzo di un DWORD che riceve il numero di elementi nella matrice ppAlgList .

[out] ppAlgList

Indirizzo di un puntatore della struttura NCryptAlgorithmName che riceve una matrice dei nomi degli algoritmi registrati. La variabile a cui punta il parametro pdwAlgCount riceve il numero di elementi in questa matrice.

Quando questa memoria non è più necessaria, deve essere liberata passando questo puntatore alla funzione NCryptFreeBuffer .

[in] dwFlags

Contrassegni che modificano il comportamento della funzione. Questo può essere zero (0) o il valore seguente.

Valore Significato
NCRYPT_SILENT_FLAG
Richiede che il provider di servizi chiave (KSP) non visualizzi alcuna interfaccia utente. Se il provider deve visualizzare l'interfaccia utente da operare, la chiamata ha esito negativo e il KSP deve impostare il codice di errore NTE_SILENT_CONTEXT come ultimo errore.

Valore restituito

Restituisce un codice di stato che indica l'esito positivo o negativo della funzione.

I codici restituiti possibili includono, ma non sono limitati a, i seguenti.

Codice restituito Descrizione
ERROR_SUCCESS
La funzione ha avuto esito positivo.
NTE_BAD_FLAGS
Il parametro dwFlags contiene un valore non valido.
NTE_INVALID_HANDLE
Il parametro hProvider non è valido.
NTE_INVALID_PARAMETER
Uno o più parametri non sono validi.
NTE_NO_MEMORY
Si è verificato un errore di allocazione della memoria.

Commenti

Un servizio non deve chiamare questa funzione dalla funzione StartService. Se un servizio chiama questa funzione dalla funzione StartService, può verificarsi un deadlock e il servizio potrebbe interrompere la risposta.

Requisiti

Requisito Valore
Client minimo supportato Windows Vista [app desktop | App UWP]
Server minimo supportato Windows Server 2008 [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione ncrypt.h
Libreria Ncrypt.lib
DLL Ncrypt.dll