NCryptStreamOpenToProtect, fonction (ncryptprotect.h)
La fonction NCryptStreamOpenToProtect ouvre un objet de flux qui peut être utilisé pour chiffrer de grandes quantités de données dans un descripteur de protection donné. Appelez NCryptStreamUpdate pour chiffrer le contenu. Pour chiffrer des messages plus petits tels que des clés et des mots de passe, appelez NCryptProtectSecret.
SECURITY_STATUS NCryptStreamOpenToProtect(
[in] NCRYPT_DESCRIPTOR_HANDLE hDescriptor,
DWORD dwFlags,
[in, optional] HWND hWnd,
[in] NCRYPT_PROTECT_STREAM_INFO *pStreamInfo,
[out] NCRYPT_STREAM_HANDLE *phStream
);
[in] hDescriptor
Handle du descripteur de protection. Créez le handle en appelant NCryptCreateProtectionDescriptor.
dwFlags
L’indicateur peut être égal à zéro ou à 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.
[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 chiffrées et un pointeur vers des données de contexte définies par l’utilisateur.
[out] phStream
Pointeur vers le handle de l’objet stream.
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), NCRYPT_MACHINE_KEY_FLAG ou NCRYPT_SILENT_FLAG. |
|
Le handle spécifié par le paramètre hDescriptor n’est pas valide. |
|
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. |
La fonction NCryptStreamOpenToProtect 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 NCryptStreamOpenToProtect écrit la chaîne de règle de descripteur de protection non chiffrée dans l’en-tête de l’objet stream afin que NCryptStreamOpenToUnprotect puisse démarrer le déchiffrement du flux à l’aide du même protecteur que celui utilisé pendant le chiffrement.
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 |