Condividi tramite


Funzione BCryptQueryProviderRegistration (bcrypt.h)

La funzione BCryptQueryProviderRegistration recupera informazioni su un provider CNG.

Sintassi

NTSTATUS BCryptQueryProviderRegistration(
  [in]      LPCWSTR             pszProvider,
  [in]      ULONG               dwMode,
  [in]      ULONG               dwInterface,
  [in, out] ULONG               *pcbBuffer,
  [in, out] PCRYPT_PROVIDER_REG *ppBuffer
);

Parametri

[in] pszProvider

Puntatore a una stringa Unicode con terminazione Null contenente il nome del provider per ottenere informazioni.

[in] dwMode

Specifica il tipo di informazioni da recuperare. Può trattarsi di uno dei valori seguenti.

Valore Significato
CRYPT_ANY
Recuperare le informazioni per il provider.
CRYPT_UM
Recuperare le informazioni sulla modalità utente per il provider.
CRYPT_KM
Recuperare le informazioni sulla modalità kernel per il provider.
CRYPT_MM
Recuperare sia le informazioni sulla modalità utente che sulla modalità kernel per il provider.

[in] dwInterface

Specifica l'interfaccia per cui recuperare le informazioni. Può trattarsi di uno dei valori seguenti.

Valore Significato
BCRYPT_ASYMMETRIC_ENCRYPTION_INTERFACE
Recuperare l'interfaccia di crittografia asimmetrica.
BCRYPT_CIPHER_INTERFACE
Recuperare l'interfaccia di crittografia.
BCRYPT_HASH_INTERFACE
Recuperare l'interfaccia hash.
NCRYPT_KEY_STORAGE_INTERFACE
Recuperare l'interfaccia di archiviazione delle chiavi.
BCRYPT_RNG_INTERFACE
Recuperare l'interfaccia del generatore di numeri casuali.
NCRYPT_SCHANNEL_INTERFACE
Recuperare l'interfaccia Schannel.
BCRYPT_SECRET_AGREEMENT_INTERFACE
Recuperare l'interfaccia del contratto segreto.
BCRYPT_SIGNATURE_INTERFACE
Recuperare l'interfaccia della firma.

[in, out] pcbBuffer

Puntatore a un valore di ULONG 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.

Nota Si tratta delle dimensioni totali, in byte, dell'intero buffer, non solo delle dimensioni della struttura CRYPT_PROVIDER_REG . Il buffer deve essere in grado di contenere altri dati per i provider oltre alla struttura CRYPT_PROVIDER_REG .
 

[in, out] ppBuffer

Puntatore a un puntatore al buffer che riceve una struttura CRYPT_PROVIDER_REG e altri dati che descrivono il provider.

Se questo parametro è NULL, questa funzione restituirà STATUS_BUFFER_TOO_SMALL e inserisce nel valore a cui punta il parametro pcbBuffer , le dimensioni richieste, in byte, di tutti i dati.

Se questo parametro è l'indirizzo di un puntatore NULL , questa funzione allocherà la memoria necessaria, la riempirà con le informazioni del provider e inserisce un 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
STATUS_SUCCESS
La funzione ha avuto esito positivo.
STATUS_INVALID_PARAMETER
Uno o più parametri non sono validi.
STATUS_BUFFER_TOO_SMALL
Le dimensioni specificate dal parametro pcbBuffer non sono sufficienti per contenere tutti i dati.
STATUS_NOT_FOUND
Non è stato trovato alcun provider che corrisponda ai criteri specificati.

Commenti

BCryptQueryProviderRegistration può essere chiamato solo in modalità utente.

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

Vedi anche

BCryptFreeBuffer

CRYPT_PROVIDER_REG