Funzione BCryptEnumProviders (bcrypt.h)

La funzione BCryptEnumProviders ottiene tutti i provider CNG che supportano un algoritmo specificato.

Sintassi

NTSTATUS BCryptEnumProviders(
  [in]  LPCWSTR              pszAlgId,
  [out] ULONG                *pImplCount,
  [out] BCRYPT_PROVIDER_NAME **ppImplList,
  [in]  ULONG                dwFlags
);

Parametri

[in] pszAlgId

Puntatore a una stringa Unicode con terminazione Null che identifica l'algoritmo per cui ottenere i provider. Può trattarsi di uno degli identificatori di algoritmo CNG predefiniti o di un altro identificatore di algoritmo.

[out] pImplCount

Puntatore a una variabile ULONG per ricevere il numero di elementi nella matrice ppImplList .

[out] ppImplList

Indirizzo di una matrice di strutture BCRYPT_PROVIDER_NAME per ricevere la raccolta di provider che supportano l'algoritmo specificato. Il parametro pImplCount riceve il numero di elementi in questa matrice. Questa memoria deve essere liberata quando non è più necessaria passando questo puntatore alla funzione BCryptFreeBuffer .

[in] dwFlags

Set di flag che modifica il comportamento di questa funzione. Attualmente non sono definiti flag, quindi questo parametro deve essere zero.

Valore restituito

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

I codici restituiti possibili includono, a titolo esemplificativo, quanto segue.

Codice restituito Descrizione
STATUS_SUCCESS
La funzione ha avuto esito positivo.
STATUS_INVALID_PARAMETER
Uno o più parametri non sono validi.
STATUS_NO_MEMORY
Si è verificato un errore di allocazione della memoria.

Commenti

BCryptEnumProviders può essere chiamato dalla modalità utente o dalla modalità kernel. I chiamanti in modalità kernel devono essere in esecuzione in PASSIVE_LEVELIRQL.

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 bcrypt.h
Libreria Bcrypt.lib
DLL Bcrypt.dll

Vedi anche

BCRYPT_PROVIDER_NAME

BCryptFreeBuffer