CryptGetKeyIdentifierProperty-Funktion (wincrypt.h)
Syntax
BOOL CryptGetKeyIdentifierProperty(
[in] const CRYPT_HASH_BLOB *pKeyIdentifier,
[in] DWORD dwPropId,
[in] DWORD dwFlags,
[in] LPCWSTR pwszComputerName,
[in] void *pvReserved,
[out] void *pvData,
[in, out] DWORD *pcbData
);
Parameter
[in] pKeyIdentifier
Ein Zeiger auf die CRYPT_HASH_BLOB , die den Schlüsselbezeichner enthält.
[in] dwPropId
Gibt die abzurufende Eigenschaft an. Der Wert von dwPropId bestimmt den Typ und den Inhalt des pvData-Parameters . Es kann eine beliebige Zertifikateigenschafts-ID verwendet werden.
[in] dwFlags
Die folgenden Flags können verwendet werden. Sie können mit einer bitweisen OR-Operation kombiniert werden.
[in] pwszComputerName
Ein Zeiger auf den Namen eines zu durchsuchenden Remotecomputers. Wenn CRYPT_KEYID_MACHINE_FLAG Flag festgelegt ist, durchsucht den Remotecomputer nach einer Liste mit Schlüsselbezeichnern. Wenn der lokale Computer und kein Remotecomputer durchsucht werden soll, legen Sie pwszComputerName auf NULL fest.
[in] pvReserved
Für die zukünftige Verwendung reserviert und muss NULL sein.
[out] pvData
Ein Zeiger auf einen Puffer zum Empfangen der Daten gemäß dwPropId. Elemente, auf die von Feldern in der pvData-Struktur verwiesen wird, folgen der -Struktur. Daher kann die in pcbData enthaltene Größe die Größe der Struktur überschreiten.
Wenn dwPropId CERT_KEY_PROV_INFO_PROP_ID ist, verweist pvData auf eine CRYPT_KEY_PROV_INFO-Struktur, die die -Eigenschaft des Schlüsselbezeichners enthält.
Wenn dwPropId nicht CERT_KEY_PROV_INFO_PROP_ID ist, verweist pvData auf ein Bytearray, das die -Eigenschaft des Schlüsselbezeichners enthält.
Um die Größe dieser Informationen für Speicherbelegungszwecke abzurufen, kann dieser Parameter NULL sein, wenn die CRYPT_KEYID_ALLOC_FLAG nicht festgelegt ist. Weitere Informationen finden Sie unter Abrufen von Daten mit unbekannter Länge.
Wenn die CRYPT_KEYID_ALLOC_FLAG festgelegt ist, ist pvData die Adresse eines Zeigers auf den Puffer, der aktualisiert wird. Da Arbeitsspeicher zugeordnet ist und der Zeiger unter *pvData gespeichert wird, darf pvData nicht NULL sein.
[in, out] pcbData
Ein Zeiger auf ein DWORD , das die Größe des Puffers in Bytes enthält, auf den der parameter pvData verweist. Wenn die Funktion zurückgibt, enthält das DWORD die Anzahl der im Puffer gespeicherten Bytes. Die in der Variablen enthaltene Größe, auf die von pcbData verwiesen wird, kann eine Größe angeben, die größer als die CRYPT_KEY_PROV_INFO-Struktur ist, da die Struktur Zeiger auf Hilfsdaten enthalten kann. Diese Größe ist die Summe der Größe, die von der -Struktur und allen Hilfsdaten benötigt wird.
Wenn die CRYPT_KEYID_ALLOC_FLAG festgelegt ist, ist pcbData die Adresse eines Zeigers auf das DWORD , das aktualisiert wird.
Rückgabewert
Wenn die 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.
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 |