Freigeben über


BCryptQueryProviderRegistration-Funktion (bcrypt.h)

Die BCryptQueryProviderRegistration-Funktion ruft Informationen zu einem CNG-Anbieter ab.

Syntax

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

Parameter

[in] pszProvider

Ein Zeiger auf eine Unicode-Zeichenfolge mit NULL-Beendigung, die den Namen des Anbieters enthält, über den Informationen abgerufen werden sollen.

[in] dwMode

Gibt den Typ der abzurufenden Informationen an. Dies kann einer der folgenden Werte sein.

Wert Bedeutung
CRYPT_ANY
Rufen Sie alle Informationen für den Anbieter ab.
CRYPT_UM
Rufen Sie die Benutzermodusinformationen für den Anbieter ab.
CRYPT_KM
Rufen Sie die Kernelmodusinformationen für den Anbieter ab.
CRYPT_MM
Rufen Sie sowohl den Benutzermodus als auch die Kernelmodusinformationen für den Anbieter ab.

[in] dwInterface

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

Wert Bedeutung
BCRYPT_ASYMMETRIC_ENCRYPTION_INTERFACE
Rufen Sie die asymmetrische Verschlüsselungsschnittstelle ab.
BCRYPT_CIPHER_INTERFACE
Rufen Sie die Verschlüsselungsschnittstelle ab.
BCRYPT_HASH_INTERFACE
Rufen Sie die Hashschnittstelle ab.
NCRYPT_KEY_STORAGE_INTERFACE
Rufen Sie die Schlüsselspeicherschnittstelle ab.
BCRYPT_RNG_INTERFACE
Rufen Sie die Schnittstelle des Zufallsgenerators ab.
NCRYPT_SCHANNEL_INTERFACE
Rufen Sie die Schannel-Schnittstelle ab.
BCRYPT_SECRET_AGREEMENT_INTERFACE
Rufen Sie die Schnittstelle für geheime Vereinbarungen ab.
BCRYPT_SIGNATURE_INTERFACE
Rufen Sie die Signaturschnittstelle ab.

[in, out] pcbBuffer

Ein Zeiger auf einen ULONG-Wert , der beim Eintrag die Größe des Puffers in Bytes enthält, auf den der ppBuffer-Parameter verweist. Beim Beenden empfängt dieser Wert entweder die Anzahl der in den Puffer kopierten Bytes oder die erforderliche Größe des Puffers in Bytes.

Hinweis Dies ist die Gesamtgröße des gesamten Puffers in Bytes, nicht nur die Größe der CRYPT_PROVIDER_REG-Struktur . Der Puffer muss in der Lage sein, neben der CRYPT_PROVIDER_REG-Struktur auch andere Daten für die Anbieter zu enthalten.
 

[in, out] ppBuffer

Ein Zeiger auf einen Pufferzeiger, der eine CRYPT_PROVIDER_REG Struktur und andere Daten empfängt, die den Anbieter beschreiben.

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

Wenn dieser Parameter die Adresse eines NULL-Zeigers ist, weist diese Funktion den erforderlichen Arbeitsspeicher zu, füllt ihn mit den Anbieterinformationen ein und platziert einen Zeiger auf diesen Speicher in diesem Parameter. Wenn Sie mit der Verwendung dieses Arbeitsspeichers fertig sind, geben Sie ihn frei, indem Sie diesen Zeiger an die BCryptFreeBuffer-Funktion übergeben.

Wenn dieser Parameter die Adresse eines Nicht-NULL-Zeigers ist, kopiert diese Funktion die Anbieterinformationen in diesen Puffer. Der pcbBuffer-Parameter muss die Größe des gesamten Puffers in Bytes enthalten. Wenn der Puffer nicht groß genug ist, um alle Anbieterinformationen aufzunehmen, gibt diese Funktion STATUS_BUFFER_TOO_SMALL zurück.

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_INVALID_PARAMETER
Mindestens ein Parameter ist ungültig.
STATUS_BUFFER_TOO_SMALL
Die vom pcbBuffer-Parameter angegebene Größe ist nicht groß genug, um alle Daten aufzunehmen.
STATUS_NOT_FOUND
Es konnte kein Anbieter gefunden werden, der den angegebenen Kriterien entspricht.

Hinweise

BCryptQueryProviderRegistration 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

BCryptFreeBuffer

CRYPT_PROVIDER_REG