Freigeben über


BCryptQueryContextFunctionConfiguration-Funktion (bcrypt.h)

[BCryptQueryContextFunctionConfiguration ist für die Verwendung in den Betriebssystemen verfügbar, die im Abschnitt Anforderungen angegeben sind. Sie kann in nachfolgenden Versionen geändert oder nicht verfügbar sein.]

Die BCryptQueryContextFunctionConfiguration-Funktion ruft die Konfigurationsinformationen der kryptografischen Funktion für einen vorhandenen CNG-Kontext ab.

Syntax

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
);

Parameter

[in] dwTable

Gibt die Konfigurationstabelle an, in der der Kontext vorhanden ist. Dies kann einer der folgenden Werte sein.

Wert Bedeutung
CRYPT_LOCAL
Der Kontext ist in der Konfigurationstabelle des lokalen Computers vorhanden.
CRYPT_DOMAIN
Dieser Wert steht nicht zur Verwendung zur Verfügung.

[in] pszContext

Ein Zeiger auf eine mit NULL beendete Unicode-Zeichenfolge, die den Bezeichner des Kontexts enthält, für den die Funktionskonfigurationsinformationen abgerufen werden sollen.

[in] dwInterface

Gibt die kryptografische Schnittstelle an, für die die Funktionskonfigurationsinformationen abgerufen werden sollen. Dies kann einer der folgenden Werte sein.

Wert Bedeutung
BCRYPT_ASYMMETRIC_ENCRYPTION_INTERFACE
Rufen Sie die Funktionskonfigurationsinformationen aus der Liste der asymmetrischen Verschlüsselungsfunktionen ab.
BCRYPT_CIPHER_INTERFACE
Rufen Sie die Funktionskonfigurationsinformationen aus der Liste der Verschlüsselungsfunktionen ab.
BCRYPT_HASH_INTERFACE
Rufen Sie die Funktionskonfigurationsinformationen aus der Liste der Hashfunktionen ab.
BCRYPT_RNG_INTERFACE
Rufen Sie die Funktionskonfigurationsinformationen aus der Liste der Funktionen des Zufallsgenerators ab.
BCRYPT_SECRET_AGREEMENT_INTERFACE
Rufen Sie die Funktionskonfigurationsinformationen aus der Liste der Geheimvereinbarungsfunktionen ab.
BCRYPT_SIGNATURE_INTERFACE
Rufen Sie die Funktionskonfigurationsinformationen aus der Liste der Signaturfunktionen ab.
NCRYPT_KEY_STORAGE_INTERFACE
Rufen Sie die Funktionskonfigurationsinformationen aus der Liste der Schlüsselspeicherfunktionen ab.
NCRYPT_SCHANNEL_INTERFACE
Rufen Sie die Funktionskonfigurationsinformationen aus der Liste der Schannel-Funktionen ab.

[in] pszFunction

Ein Zeiger auf eine Unicode-Zeichenfolge mit NULL-Beendigung, die den Bezeichner der kryptografischen Funktion enthält, für die die Konfigurationsinformationen abgerufen werden sollen.

[in, out] pcbBuffer

Die Adresse einer ULONG-Variablen , die bei einem Eintrag die Größe des Puffers in Bytes enthält, auf den ppBuffer verweist. Wenn diese Größe nicht groß genug ist, um die Kontextinformationen zu enthalten, schlägt diese Funktion mit STATUS_BUFFER_TOO_SMALL fehl.

Nachdem diese Funktion zurückgegeben wurde, enthält diese Variable die Anzahl der Bytes, die in den ppBuffer-Puffer kopiert wurden.

[in, out] ppBuffer

Die Adresse eines Zeigers auf eine CRYPT_CONTEXT_FUNCTION_CONFIG Struktur, die die von dieser Funktion abgerufenen Funktionskonfigurationsinformationen empfängt. Der Wert, auf den der pcbBuffer-Parameter verweist, enthält die Größe dieses Puffers.

Wenn der Wert, auf den dieser Parameter verweist, NULL ist, weist diese Funktion den erforderlichen Arbeitsspeicher zu. Dieser Speicher muss freigegeben werden, wenn er nicht mehr benötigt wird, indem dieser Zeiger an die BCryptFreeBuffer-Funktion übergeben wird.

Wenn dieser Parameter NULL ist, platziert diese Funktion die erforderliche Größe in Bytes in der Variablen, auf die der pcbBuffer-Parameter verweist, und gibt STATUS_BUFFER_TOO_SMALL zurück.

Weitere Informationen zur Verwendung dieses Parameters finden Sie unter Hinweise.

Rückgabewert

Gibt einen status Code zurück, der den Erfolg oder Fehler der Funktion angibt.

Mögliche Rückgabecodes umfassen folgendes, sind aber nicht darauf beschränkt.

Rückgabecode Beschreibung
STATUS_SUCCESS
Die Funktion war erfolgreich.
STATUS_BUFFER_TOO_SMALL
Der ppBuffer-Parameter ist nicht NULL, und der Wert, auf den der pcbBuffer-Parameter verweist, ist nicht groß genug, um den Satz von Kontexten zu enthalten.
STATUS_INVALID_PARAMETER
Mindestens ein Parameter ist ungültig.
STATUS_NO_MEMORY
Ein Fehler bei der Speicherzuordnung ist aufgetreten.
STATUS_NOT_FOUND
Der angegebene Kontext oder die angegebene Funktion konnte nicht gefunden werden.

Hinweise

Jede kryptografische Funktion verfügt nur über einen Satz von Konfigurationsinformationen. Obwohl der ppBuffer-Parameter als Array verwendet zu werden scheint, behandelt diese Funktion dies als Array mit nur einem Element. Im folgenden Beispiel wird erläutert, wie dieser Parameter verwendet wird.

// 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 kann nur im Benutzermodus aufgerufen werden.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows Vista [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile bcrypt.h
Bibliothek Bcrypt.lib
DLL Bcrypt.dll

Weitere Informationen

CRYPT_CONTEXT_FUNCTION_CONFIG