CryptEnumKeyIdentifierProperties-Funktion (wincrypt.h)

Wichtig Diese API ist veraltet. Neue und vorhandene Software sollte mit der Verwendung von Kryptografie-APIs der nächsten Generation beginnen. Microsoft kann diese API in zukünftigen Versionen entfernen.
 
Die CryptEnumKeyIdentifierProperties-Funktion listet Schlüsselbezeichner und deren Eigenschaften auf. Diese Funktion wird nicht in einer Schleife aufgerufen. Stattdessen wird intern eine Schleife ausgeführt, bis die letzte Schlüsselbezeichnereigenschaft aufgezählt ist oder die Rückruffunktion FALSE zurückgibt. Wenn dwPropId null ist oder die Eigenschaften des Schlüsselbezeichners mit der dwPropId übereinstimmen, wird die Rückruffunktion aufgerufen.

Syntax

BOOL CryptEnumKeyIdentifierProperties(
  [in, optional] const CRYPT_HASH_BLOB     *pKeyIdentifier,
  [in]           DWORD                     dwPropId,
  [in]           DWORD                     dwFlags,
  [in, optional] LPCWSTR                   pwszComputerName,
  [in]           void                      *pvReserved,
  [in, optional] void                      *pvArg,
  [in]           PFN_CRYPT_ENUM_KEYID_PROP pfnEnum
);

Parameter

[in, optional] pKeyIdentifier

Ein Zeiger auf eine CRYPT_HASH_BLOB Struktur, die den Schlüsselbezeichner enthält.

Wenn pKeyIdentifierNULL ist, listet die Funktion alle Schlüsselbezeichner auf.

Wenn pKeyIdentifier nicht NULL ist, wird die Rückruffunktion pfnEnum nur für den angegebenen Schlüsselbezeichner aufgerufen.

[in] dwPropId

Gibt den Eigenschaftenbezeichner an, der aufgelistet werden soll.

Wenn dwPropId auf 0 festgelegt ist, ruft diese Funktion die Rückruffunktion mit allen Eigenschaften auf.

Wenn dwPropId nicht null und pKeyIdentifierNULL ist, wird die Rückruffunktion nur für die Schlüsselbezeichner aufgerufen, die über die angegebene Eigenschaft verfügen (legt den cProp-Parameter von pfnEnum auf 1 fest). Alle Schlüsselbezeichner, die nicht über die -Eigenschaft verfügen, werden übersprungen.

Ein beliebiger Bezeichner für Zertifikateigenschaften kann verwendet werden.

[in] dwFlags

Standardmäßig wird die Liste der Schlüsselbezeichner für CurrentUser durchsucht. Wenn CRYPT_KEYID_MACHINE_FLAG festgelegt ist, wird die Liste der Schlüsselbezeichner der LocalMachine (wenn pwszComputerNameNULL ist) oder eines Remotecomputers (wenn pwszComputerName nicht NULL ist) durchsucht. Weitere Informationen finden Sie unter pwszComputerName.

[in, optional] pwszComputerName

Ein Zeiger auf den Namen eines zu durchsuchenden Remotecomputers. Wenn CRYPT_KEYID_MACHINE_FLAG in dwFlags festgelegt ist, wird der Remotecomputer nach einer Liste der Schlüsselbezeichner gesucht. Wenn der lokale Computer und kein Remotecomputer durchsucht werden soll, wird pwszComputerName auf NULL festgelegt.

[in] pvReserved

Für die zukünftige Verwendung reserviert und muss NULL sein.

[in, optional] pvArg

Ein Zeiger auf Daten, die an die Rückruffunktion übergeben werden sollen. Der Typ ist eine Void, die es der Anwendung ermöglicht, eine Struktur oder ein Argument zu deklarieren, zu definieren und zu initialisieren, um informationen zu enthalten.

[in] pfnEnum

Ein Zeiger auf eine anwendungsdefinierte Rückruffunktion, die für jeden Schlüsselbezeichnereintrag ausgeführt wird, der den Eingabeparametern entspricht. Ausführliche Informationen zu den Parametern der Rückruffunktionen finden Sie unter CRYPT_ENUM_KEYID_PROP.

Rückgabewert

Die Funktion CryptEnumKeyIdentifierProperties ruft wiederholt die CRYPT_ENUM_KEYID_PROP Rückruffunktion auf, bis der letzte Schlüsselbezeichner aufgezählt wird oder die Rückruffunktion FALSE zurückgibt.

Wenn die Standard Funktion erfolgreich ist, gibt die Funktion ungleich null (TRUE) zurück.

Wenn die Funktion fehlschlägt, gibt sie null (FALSE) zurück. Rufen Sie GetLastError auf, um erweiterte Fehlerinformationen zu erhalten.

Um die Enumeration fortzusetzen, gibt die Funktion TRUE zurück.

Um die Enumeration zu beenden, gibt die Funktion FALSE zurück und legt den letzten Fehlercode fest.

Hinweise

Ein Schlüsselbezeichner kann die gleichen Eigenschaften wie ein Zertifikatkontext aufweisen.

Beispiele

Ein Beispiel, das diese Funktion verwendet, finden Sie unter Beispiel-C-Programm: Arbeiten mit Schlüsselbezeichnern.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile wincrypt.h
Bibliothek Crypt32.lib
DLL Crypt32.dll

Weitere Informationen

Grundlegende Kryptografiefunktionen

CryptGetKeyIdentifierProperty

CryptSetKeyIdentifierProperty