Freigeben über


BCryptGetProperty-Funktion (bcrypt.h)

Die BCryptGetProperty-Funktion ruft den Wert einer benannten Eigenschaft für ein CNG-Objekt ab.

Syntax

NTSTATUS BCryptGetProperty(
  [in]  BCRYPT_HANDLE hObject,
  [in]  LPCWSTR       pszProperty,
  [out] PUCHAR        pbOutput,
  [in]  ULONG         cbOutput,
  [out] ULONG         *pcbResult,
  [in]  ULONG         dwFlags
);

Parameter

[in] hObject

Ein Handle, das das CNG-Objekt darstellt, für das der Eigenschaftswert abgerufen werden soll.

[in] pszProperty

Ein Zeiger auf eine mit NULL endende Unicode-Zeichenfolge, die den Namen der abzurufenden Eigenschaft enthält. Dies kann einer der vordefinierten Bezeichner von primitiven Kryptografieeigenschaften oder ein benutzerdefinierter Eigenschaftenbezeichner sein.

[out] pbOutput

Die Adresse eines Puffers, der den Eigenschaftswert empfängt. Der cbOutput-Parameter enthält die Größe dieses Puffers.

[in] cbOutput

Die Größe des pbOutput-Puffers in Bytes.

[out] pcbResult

Ein Zeiger auf eine ULONG-Variable , die die Anzahl der Bytes empfängt, die in den pbOutput-Puffer kopiert wurden. Wenn der pbOutput-ParameterNULL ist, platziert diese Funktion die erforderliche Größe in Bytes an der Position, auf die dieser Parameter verweist.

[in] dwFlags

Ein Satz von Flags, die das Verhalten dieser Funktion ändern. Für diese Funktion sind keine Flags definiert.

Rückgabewert

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

Mögliche Rückgabecodes sind u. a. die folgenden:

Rückgabecode Beschreibung
STATUS_SUCCESS
Die Funktion war erfolgreich.
STATUS_BUFFER_TOO_SMALL
Die vom cbOutput-Parameter angegebene Puffergröße ist nicht groß genug, um den Eigenschaftswert zu enthalten.
STATUS_INVALID_HANDLE
Das Handle im hObject-Parameter ist ungültig.
STATUS_INVALID_PARAMETER
Mindestens ein Parameter ist ungültig.
STATUS_NOT_SUPPORTED
Die vom pszProperty-Parameter angegebene benannte Eigenschaft wird nicht unterstützt.

Hinweise

Um die erforderliche Größe für eine Eigenschaft zu erhalten, übergeben Sie NULL für den pbOutput-Parameter . Diese Funktion platziert die erforderliche Größe in Byte in den Wert, auf den der pcbResult-Parameter verweist.

Je nachdem, welche Prozessormodi ein Anbieter unterstützt, kann BCryptGetProperty entweder über den Benutzermodus oder den Kernelmodus aufgerufen werden. Aufrufer im Kernelmodus können entweder am PASSIVE_LEVELIRQL oder DISPATCH_LEVEL IRQL ausgeführt werden. Wenn die aktuelle IRQL-Ebene DISPATCH_LEVEL ist, müssen alle Zeiger, die an die BCryptGetProperty-Funktion übergeben werden, auf nicht ausseitigen (oder gesperrten) Arbeitsspeicher verweisen. Wenn das im hObject-Parameter angegebene Objekt ein Handle ist, muss es mit dem flag BCRYPT_PROV_DISPATCH geöffnet worden sein.

Um diese Funktion im Kernelmodus aufzurufen, verwenden Sie Cng.lib, die Teil des Driver Development Kit (DDK) ist. Windows Server 2008 und Windows Vista: Verwenden Sie Ksecdd.lib, um diese Funktion im Kernelmodus aufzurufen.

Anforderungen

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