Condividi tramite


Funzione BCryptQueryContextFunctionConfiguration (bcrypt.h)

[BCryptQueryContextFunctionConfiguration è disponibile per l'uso nei sistemi operativi specificati nella sezione Requisiti. Può essere modificato o non disponibile nelle versioni successive.

La funzione BCryptQueryContextFunctionConfiguration ottiene le informazioni di configurazione della funzione crittografica per un contesto CNG esistente.

Sintassi

NTSTATUS BCryptQueryContextFunctionConfiguration(
  [in]      ULONG                          dwTable,
  [in]      LPCWSTR                        pszContext,
  [in]      ULONG                          dwInterface,
  [in]      LPCWSTR                        pszFunction,
  [in, out] ULONG                          *pcbBuffer,
  [in, out] PCRYPT_CONTEXT_FUNCTION_CONFIG *ppBuffer
);

Parametri

[in] dwTable

Identifica la tabella di configurazione presente nel contesto. Questo può essere uno dei valori seguenti.

Valore Significato
CRYPT_LOCAL
Il contesto esiste nella tabella di configurazione del computer locale.
CRYPT_DOMAIN
Questo valore non è disponibile per l'uso.

[in] pszContext

Puntatore a una stringa Unicode con terminazione null contenente l'identificatore del contesto per ottenere le informazioni di configurazione della funzione per.

[in] dwInterface

Identifica l'interfaccia crittografica per ottenere le informazioni di configurazione della funzione per. Questo può essere uno dei valori seguenti.

Valore Significato
BCRYPT_ASYMMETRIC_ENCRYPTION_INTERFACE
Ottenere le informazioni di configurazione della funzione dall'elenco di funzioni di crittografia asimmetrica.
BCRYPT_CIPHER_INTERFACE
Ottenere le informazioni di configurazione della funzione dall'elenco di funzioni di crittografia.
BCRYPT_HASH_INTERFACE
Ottenere le informazioni di configurazione della funzione dall'elenco di funzioni hash.
BCRYPT_RNG_INTERFACE
Ottenere le informazioni di configurazione della funzione dall'elenco delle funzioni del generatore di numeri casuali.
BCRYPT_SECRET_AGREEMENT_INTERFACE
Ottenere le informazioni di configurazione della funzione dall'elenco delle funzioni del contratto segreto.
BCRYPT_SIGNATURE_INTERFACE
Ottenere le informazioni di configurazione della funzione dall'elenco di funzioni di firma.
NCRYPT_KEY_STORAGE_INTERFACE
Ottenere le informazioni di configurazione della funzione dall'elenco delle funzioni di archiviazione delle chiavi.
NCRYPT_SCHANNEL_INTERFACE
Ottenere le informazioni di configurazione della funzione dall'elenco di funzioni Schannel.

[in] pszFunction

Puntatore a una stringa Unicode con terminazione null contenente l'identificatore della funzione di crittografia per ottenere le informazioni di configurazione per.

[in, out] pcbBuffer

L'indirizzo di una variabile ULONG che, nella voce, contiene le dimensioni, in byte, del buffer a cui punta ppBuffer. Se questa dimensione non è sufficiente per contenere le informazioni sul contesto, questa funzione avrà esito negativo con STATUS_BUFFER_TOO_SMALL.

Dopo che questa funzione restituisce, questa variabile contiene il numero di byte copiati nel buffer ppBuffer .

[in, out] ppBuffer

Indirizzo di un puntatore a una struttura CRYPT_CONTEXT_FUNCTION_CONFIG che riceve le informazioni di configurazione della funzione recuperate da questa funzione. Il valore indicato dal parametro pcbBuffer contiene le dimensioni di questo buffer.

Se il valore puntato da questo parametro è NULL, questa funzione allocherà la memoria necessaria. Questa memoria deve essere liberata quando non è più necessaria passando questo puntatore alla funzione BCryptFreeBuffer .

Se questo parametro è NULL, questa funzione inserisce le dimensioni necessarie, in byte, nella variabile a cui punta il parametro pcbBuffer e restituisce STATUS_BUFFER_TOO_SMALL.

Per altre informazioni sull'utilizzo di questo parametro, vedere Osservazioni.

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
STATUS_SUCCESS
La funzione ha avuto esito positivo.
STATUS_BUFFER_TOO_SMALL
Il parametro ppBuffer non è NULL e il valore a cui punta il parametro pcbBuffer non è sufficiente per contenere il set di contesti.
STATUS_INVALID_PARAMETER
Uno o più parametri non sono validi.
STATUS_NO_MEMORY
Si è verificato un errore di allocazione della memoria.
STATUS_NOT_FOUND
Impossibile trovare il contesto o la funzione specificati.

Commenti

Ogni funzione crittografica ha solo un set di informazioni di configurazione, quindi anche se il parametro ppBuffer sembra essere un utilizzato come matrice, questa funzione considera questa come matrice con un solo elemento. Nell'esempio seguente viene illustrato come viene usato questo parametro.

// Get the function configuration information.
CRYPT_CONTEXT_FUNCTION_CONFIG FuncConfig;
ULONG uSize = sizeof(FuncConfig);
PCRYPT_CONTEXT_FUNCTION_CONFIG pFuncConfig = &FuncConfig;
status = BCryptQueryContextFunctionConfiguration(
    CRYPT_LOCAL, 
    pszContext, 
    NCRYPT_SCHANNEL_INTERFACE,
    pszFunction,
    &uSize, 
    &pFuncConfig);

BCryptQueryContextFunctionConfiguration 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

CRYPT_CONTEXT_FUNCTION_CONFIG