Funzione BCryptDuplicateHash (bcrypt.h)
La funzione BCryptDuplicateHash
Sintassi
NTSTATUS BCryptDuplicateHash(
[in] BCRYPT_HASH_HANDLE hHash,
[out] BCRYPT_HASH_HANDLE *phNewHash,
[out] PUCHAR pbHashObject,
[in] ULONG cbHashObject,
[in] ULONG dwFlags
);
Parametri
[in] hHash
Handle dell'oggetto hash o MAC da duplicare.
[out] phNewHash
Puntatore a un valore BCRYPT_HASH_HANDLE che riceve l'handle che rappresenta l'hash duplicato o l'oggetto MAC.
[out] pbHashObject
Puntatore a un buffer che riceve l'hash duplicato o l'oggetto MAC. Il parametro cbHashObject
Quando viene rilasciato l'handle hash duplicato, liberare questa memoria.
[in] cbHashObject
Dimensioni, in byte, del buffer di pbHashObject.
[in] dwFlags
Set di flag che modificano il comportamento di questa funzione. Non sono attualmente definiti flag, quindi questo parametro deve essere zero.
Valore restituito
Restituisce un codice di stato che indica l'esito positivo o negativo della funzione.
I codici restituiti possibili includono, ma non solo, quanto segue.
Codice restituito | Descrizione |
---|---|
|
La funzione ha avuto esito positivo. |
|
Le dimensioni dell'oggetto hash specificato dal parametro cbHashObject non sono sufficienti per contenere l'oggetto hash. |
|
L'handle hash nel parametro hHash non è valido. |
|
Uno o più parametri non sono validi. |
Osservazioni
Questa funzione è utile quando si calcola un hash o MAC su un blocco di dati comuni. Dopo l'elaborazione dei dati comuni, l'oggetto hash o MAC può essere duplicato e quindi i dati univoci possono essere aggiunti ai singoli oggetti.
A seconda delle modalità del processore supportate da un provider, BCryptDuplicateHash può essere chiamato dalla modalità utente o dalla modalità kernel. I chiamanti in modalità kernel possono essere eseguiti in PASSIVE_LEVELirQL o DISPATCH_LEVEL IRQL. Se il livello IRQL corrente è
Per chiamare questa funzione in modalità kernel, usare Cng.lib, che fa parte del Driver Development Kit (DDK). Windows Server 2008 e Windows Vista: Per chiamare questa funzione in modalità kernel, usare Ksecdd.lib.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Windows Vista [app desktop | App UWP] |
server minimo supportato | Windows Server 2008 [app desktop | App UWP] |
piattaforma di destinazione | Finestre |
intestazione |
bcrypt.h |
libreria |
Bcrypt.lib |
dll | Bcrypt.dll |