CryptGetHashParam-Funktion (wincrypt.h)
Syntax
BOOL CryptGetHashParam(
[in] HCRYPTHASH hHash,
[in] DWORD dwParam,
[out] BYTE *pbData,
[in, out] DWORD *pdwDataLen,
[in] DWORD dwFlags
);
Parameter
[in] hHash
Handle des abzufragten Hashobjekts.
[in] dwParam
Abfragetyp. Dieser Parameter kann auf eine der folgenden Abfragen festgelegt werden.
Wert | Bedeutung |
---|---|
|
Ein ALG_ID , der den Algorithmus angibt, der beim Erstellen des Hashobjekts angegeben wurde. Eine Liste der Hashalgorithmen finden Sie unter CryptCreateHash. |
|
DWORD-Wert , der die Anzahl der Bytes im Hashwert angibt. Dieser Wert variiert je nach Hashalgorithmus. Anwendungen müssen diesen Wert direkt vor dem wert der HP_HASHVAL abrufen, damit die richtige Menge an Arbeitsspeicher zugewiesen werden kann. |
|
Der Hashwert oder Nachrichtenhash für das von hHash angegebene Hashobjekt. Dieser Wert wird basierend auf den Daten generiert, die dem Hashobjekt zuvor über die Funktionen CryptHashData und CryptHashSessionKey bereitgestellt wurden.
Die CryptGetHashParam-Funktion vervollständigt den Hash. Nachdem CryptGetHashParam aufgerufen wurde, können dem Hash keine weiteren Daten hinzugefügt werden. Zusätzliche Aufrufe von CryptHashData oder CryptHashSessionKey schlagen fehl. Nachdem die Anwendung mit dem Hash abgeschlossen ist, sollte CryptDestroyHash aufgerufen werden, um das Hashobjekt zu zerstören. |
[out] pbData
Ein Zeiger auf einen Puffer, der die angegebenen Wertdaten empfängt. Die Form dieser Daten variiert je nach Wertnummer.
Dieser Parameter kann NULL sein, um die erforderliche Arbeitsspeichergröße zu bestimmen.
[in, out] pdwDataLen
Ein Zeiger auf einen DWORD-Wert , der die Größe des pbData-Puffers in Bytes angibt. Wenn die Funktion zurückgibt, enthält der DWORD-Wert die Anzahl der im Puffer gespeicherten Bytes.
Wenn pbDataNULL ist, legen Sie den Wert von pdwDataLen auf Null fest.
[in] dwFlags
Für die zukünftige Verwendung reserviert und muss null sein.
Rückgabewert
Wenn die Funktion erfolgreich ist, ist der Rückgabewert TRUE.
Wenn die Funktion fehlschlägt, ist der Rückgabewert FALSE. Rufen Sie GetLastError auf, um erweiterte Fehlerinformationen zu erhalten.
Die von "NTE" vorangestellten Fehlercodes werden von dem jeweiligen CSP generiert, den Sie verwenden. Es folgen einige mögliche Fehlercodes.
Rückgabecode | Beschreibung |
---|---|
|
Einer der Parameter gibt ein ungültiges Handle an. |
|
Einer der Parameter enthält einen ungültigen Wert. Dies ist in den meisten Fällen ein nicht gültiger Zeiger. |
|
Wenn der vom pbData-Parameter angegebene Puffer nicht groß genug ist, um die zurückgegebenen Daten aufzunehmen, legt die Funktion den ERROR_MORE_DATA Code fest und speichert die erforderliche Puffergröße in Bytes in der Variablen, auf die von pdwDataLen verwiesen wird. |
|
Der dwFlags-Parameter ist nonzero. |
|
Das durch den hHash-Parameter angegebene Hashobjekt ist ungültig. |
|
Der dwParam-Parameter gibt eine unbekannte Wertnummer an. |
|
Der CSP-Kontext, der beim Erstellen des Hashs angegeben wurde, kann nicht gefunden werden. |
Anforderungen
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 | Advapi32.lib |
DLL | Advapi32.dll |