Funzione BCryptResolveProviders (bcrypt.h)
La funzione BCryptResolveProviders ottiene una raccolta di tutti i provider che soddisfano i criteri specificati.
Sintassi
NTSTATUS BCryptResolveProviders(
[in, optional] LPCWSTR pszContext,
[in, optional] ULONG dwInterface,
[in, optional] LPCWSTR pszFunction,
[in, optional] LPCWSTR pszProvider,
[in] ULONG dwMode,
[in] ULONG dwFlags,
[in, out] ULONG *pcbBuffer,
[in, out] PCRYPT_PROVIDER_REFS *ppBuffer
);
Parametri
[in, optional] pszContext
Puntatore a una stringa Unicode con terminazione Null che contiene l'identificatore del contesto per cui ottenere i provider. Se questa proprietà è impostata su NULL o su una stringa vuota, verrà utilizzato il contesto predefinito.
[in, optional] dwInterface
Identificatore di un'interfaccia che il provider deve supportare. Deve essere uno degli identificatori di interfaccia CNG. Se il parametro pszFunction non è NULL o una stringa vuota, è possibile impostare dwInterface su zero per forzare la funzione a dedurre l'interfaccia.
[in, optional] pszFunction
Puntatore a una stringa Unicode con terminazione Null contenente l'algoritmo o l'identificatore di funzione che il provider deve supportare. Può trattarsi di uno degli identificatori di algoritmo CNG standard o dell'identificatore per un altro algoritmo registrato. Se dwInterface è impostato su un valore diverso da zero, pszFunction può essere NULL per includere tutti gli algoritmi e le funzioni.
[in, optional] pszProvider
Puntatore a una stringa Unicode con terminazione Null contenente il nome del provider da recuperare. Se questo parametro è NULL, verranno inclusi tutti i provider.
Questo parametro consente di specificare un provider specifico da recuperare nel caso in cui più provider soddisfino gli altri criteri.
[in] dwMode
Specifica il tipo di provider da recuperare. Può trattarsi di uno dei valori seguenti.
[in] dwFlags
Set di flag che modificano il comportamento di questa funzione.
Può trattarsi di zero o di una combinazione di uno o più dei valori seguenti.
[in, out] pcbBuffer
Puntatore a un valore DWORD che, nella voce, contiene le dimensioni, in byte, del buffer a cui punta il parametro ppBuffer . All'uscita, questo valore riceve il numero di byte copiati nel buffer o le dimensioni richieste, in byte, del buffer.
[in, out] ppBuffer
Indirizzo di un puntatore CRYPT_PROVIDER_REFS che riceve la raccolta di provider che soddisfano i criteri specificati.
Se questo parametro è NULL, questa funzione restituirà STATUS_SUCCESS e posizionerà nel valore a cui punta il parametro pcbBuffer , le dimensioni necessarie, in byte, di tutti i dati.
Se questo parametro è l'indirizzo di un puntatore NULL , questa funzione allocherà la memoria necessaria, riempirà la memoria con le informazioni sui provider e inserisce il puntatore a questa memoria in questo parametro. Al termine dell'uso di questa memoria, liberarlo passando questo puntatore alla funzione BCryptFreeBuffer .
Se questo parametro è l'indirizzo di un puntatore non NULL , questa funzione copierà le informazioni del provider in questo buffer. Il parametro pcbBuffer deve contenere le dimensioni, in byte, dell'intero buffer. Se il buffer non è sufficientemente grande da contenere tutte le informazioni sul provider, questa funzione restituirà STATUS_BUFFER_TOO_SMALL.
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 |
---|---|
|
La funzione ha avuto esito positivo. |
|
Le dimensioni specificate dal parametro pcbBuffer non sono sufficienti per contenere tutti i dati. |
|
Uno o più parametri non sono validi. |
|
Non è stato trovato alcun provider che soddisfi tutti i criteri specificati. |
Commenti
BCryptResolveProviders 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 [solo app desktop] |
Server minimo supportato | Windows Server 2008 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | bcrypt.h |
Libreria | Bcrypt.lib |
DLL | Bcrypt.dll |
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per