NCryptGetProperty-Funktion (ncrypt.h)

Die NCryptGetProperty-Funktion ruft den Wert einer benannten Eigenschaft für ein Schlüsselspeicherobjekt ab.

Syntax

SECURITY_STATUS NCryptGetProperty(
  [in]  NCRYPT_HANDLE hObject,
  [in]  LPCWSTR       pszProperty,
  [out] PBYTE         pbOutput,
  [in]  DWORD         cbOutput,
  [out] DWORD         *pcbResult,
  [in]  DWORD         dwFlags
);

Parameter

[in] hObject

Das Handle des Objekts, für das die -Eigenschaft abgerufen werden soll. Dies kann ein Anbieterhandle (NCRYPT_PROV_HANDLE) oder ein Schlüsselhandle (NCRYPT_KEY_HANDLE) sein.

[in] pszProperty

Ein Zeiger auf eine mit NULL endende Unicode-Zeichenfolge, die den Namen der abzurufenden Eigenschaft enthält. Dies kann einer der vordefinierten Key Storage-Eigenschaftsbezeichner 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.

Um die für den Puffer erforderliche Größe zu berechnen, legen Sie diesen Parameter auf NULL fest. Die erforderliche Größe in Bytes wird an der Position zurückgegeben, auf die der pcbResult-Parameter verweist.

[in] cbOutput

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

[out] pcbResult

Ein Zeiger auf eine DWORD-Variable , die die Anzahl der Bytes empfängt, die in den pbOutput-Puffer kopiert wurden.

Wenn der pbOutput-ParameterNULL ist, wird die für den Puffer erforderliche Größe in Bytes an der Position platziert, auf die dieser Parameter verweist.

[in] dwFlags

Flags, die das Funktionsverhalten ändern. Dies kann null oder der folgende Wert sein.

Wert Bedeutung
NCRYPT_PERSIST_ONLY_FLAG
Ignorieren Sie alle integrierten Werte für diese Eigenschaft, und rufen Sie nur die vom Benutzer persistenten Eigenschaften des Schlüssels ab. Die maximale Größe der Daten für eine persistente Eigenschaft beträgt NCRYPT_MAX_PROPERTY_DATA Bytes.
NCRYPT_SILENT_FLAG
Fordert an, dass der Schlüsseldienstanbieter (Key Service Provider, KSP) keine Benutzeroberfläche anzeigt. Wenn der Anbieter die Benutzeroberfläche für den Betrieb anzeigen muss, schlägt der Aufruf fehl, und der KSP sollte den NTE_SILENT_CONTEXT Fehlercode als letzten Fehler festlegen.

Für die NCRYPT_SECURITY_DESCR_PROPERTY-Eigenschaft muss dieser Parameter auch einen der folgenden Werte enthalten, der den teil des abzurufenden Sicherheitsdeskriptors identifiziert.

Wert Bedeutung
OWNER_SECURITY_INFORMATION
Rufen Sie die Sicherheits-ID (SID) des Objektbesitzers ab. Verwenden Sie die GetSecurityDescriptorOwner-Funktion , um die Besitzer-SID aus der SECURITY_DESCRIPTOR-Struktur abzurufen.
GROUP_SECURITY_INFORMATION
Rufen Sie die SID der primären Gruppe des Objekts ab. Verwenden Sie die GetSecurityDescriptorGroup-Funktion , um die Gruppen-SID aus der SECURITY_DESCRIPTOR-Struktur abzurufen.
DACL_SECURITY_INFORMATION
Rufen Sie die daCL (Discretionary Access Control List) ab. Verwenden Sie die GetSecurityDescriptorSacl-Funktion , um die DACL aus der SECURITY_DESCRIPTOR-Struktur abzurufen.
SACL_SECURITY_INFORMATION
Rufen Sie die Systemzugriffssteuerungsliste (SACL) ab. Verwenden Sie die GetSecurityDescriptorDacl-Funktion , um die SACL aus der SECURITY_DESCRIPTOR-Struktur abzurufen.

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
ERROR_SUCCESS Die Funktion war erfolgreich.
NTE_BAD_FLAGS Der dwFlags Parameter enthält einen ungültigen Wert.
NTE_INVALID_HANDLE Der hObject-Parameter ist ungültig.
NTE_INVALID_PARAMETER Mindestens ein Parameter ist ungültig.
NTE_NO_MEMORY Ein Speicherbelegungsfehler ist aufgetreten.
NTE_NOT_SUPPORTED Die angegebene Eigenschaft wird für das -Objekt nicht unterstützt.

Hinweise

Ein Dienst darf diese Funktion nicht über seine StartService-Funktion aufrufen. Wenn ein Dienst diese Funktion über seine StartService Funktion aufruft, kann ein Deadlock auftreten, und der Dienst reagiert möglicherweise nicht mehr.

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 ncrypt.h
Bibliothek Ncrypt.lib
DLL Ncrypt.dll