NCryptStreamOpenToUnprotect, fonction (ncryptprotect.h)
La fonction NCryptStreamOpenToUnprotect ouvre un objet stream qui peut être utilisé pour déchiffrer de grandes quantités de données dans le même descripteur de protection que celui utilisé pour le chiffrement. Appelez NCryptStreamUpdate pour effectuer le déchiffrement. Pour déchiffrer des messages plus petits tels que des clés et des mots de passe, appelez NCryptUnprotectSecret.
Syntaxe
SECURITY_STATUS NCryptStreamOpenToUnprotect(
[in] NCRYPT_PROTECT_STREAM_INFO *pStreamInfo,
DWORD dwFlags,
[in, optional] HWND hWnd,
[out] NCRYPT_STREAM_HANDLE *phStream
);
Paramètres
[in] pStreamInfo
Pointeur vers une structure de NCRYPT_PROTECT_STREAM_INFO qui contient l’adresse d’une fonction de rappel définie par l’utilisateur pour recevoir les données déchiffrées et un pointeur vers des données de contexte définies par l’utilisateur.
dwFlags
Indicateur qui spécifie des informations supplémentaires pour le fournisseur de services de clé. Il peut s’agir de zéro ou de la valeur suivante.
Valeur | Signification |
---|---|
|
Demande que le fournisseur de services de clé n’affiche pas d’interface utilisateur. |
[in, optional] hWnd
Gérez la fenêtre parente de l’interface utilisateur, le cas échéant, à afficher.
[out] phStream
Pointeur vers le handle du flux de données déchiffré.
Valeur retournée
Retourne un code status qui indique la réussite ou l’échec de la fonction. Les codes de retour possibles incluent, sans s’y limiter, les éléments suivants.
Code de retour | Description |
---|---|
|
La fonction a réussi. |
|
Le paramètre dwFlags doit contenir zéro (0) ou NCRYPT_SILENT_FLAG. |
|
Les paramètres phStream et pStreamInfo ne peuvent pas être NULL.
La fonction de rappel pointée par le membre pfnStreamOutput de la structure NCRYPT_PROTECT_STREAM_INFO pointée par le paramètre pStreamInfo ne peut pas être NULL. |
|
La mémoire était insuffisante pour allouer un flux de données. |
Remarques
La fonction NCryptStreamOpenToUnprotect crée un objet de flux interne qui peut être utilisé pour chiffrer des messages volumineux. Vous ne pouvez pas utiliser l’objet directement. Au lieu de cela, vous devez utiliser le handle d’objet retourné par cette fonction.
Appelez cette fonction avant d’appeler la fonction NCryptStreamUpdate . Si vous chiffrez un fichier volumineux, utilisez NCryptStreamUpdate dans une boucle qui avance dans le fichier bloc par bloc, en chiffrant chaque bloc à mesure qu’il avance et en informant votre rappel lorsque chaque bloc est terminé. Pour plus d’informations, consultez NCryptStreamUpdate.
La fonction NCryptStreamOpenToUnprotect récupère la chaîne de règle de descripteur de protection non chiffrée à partir de l’en-tête de flux. La chaîne de règle est placée dans l’en-tête par la fonction NCryptStreamOpenToUnprotect .
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 8 [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2012 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | ncryptprotect.h |
Bibliothèque | NCrypt.lib |
DLL | NCrypt.dll |