[c / win32] ntclib: compression par api native

Description

Lib de compression très rapide (je compresse un .txt de 72mo en seulement 2.094s sur un vieux P4 2.5GHz..),
la lib se sert des apis natives:
RtlCompressBuffer: http://undocumented.ntinternals.net/UserMode/Undocumented%20Functions/Compression/RtlCompressBuffer.html

RtlDecompressBuffer:
http://undocumented.ntinternals.net/UserMode/Undocumented%20Functions/Compression/RtlDecompressBuffer.html

et RtlGetCompressionWorkSpaceSize:
http://undocumented.ntinternals.net/UserMode/Undocumented%20Functions/Compression/RtlGetCompressionWorkSpaceSize.html

Source / Exemple :


Extremement simple a utiliser:
InitNtcLib();// Initilaize la lib

Pour compresser:
CompressFile("C:\\Fichier_a_compresser", "C:\\Fichier_compresser", NIVEAU_DE_COMPRESSION);

Remplacer NIVEAU_DE_COMPRESSION par:
COMPRESSION_ENGINE_STANDARD
ou
COMPRESSION_ENGINE_MAXIMUM

Pour décompresser c'est pareille:
DecompressFile("C:\\Fichier_a_décompresser", "C:\\Fichier_décompresser");

UninitNtcLib();// Une fois qu'on a fini

Voila c'est pas bien compliquer.. =)

Conclusion :


L'implementation de l'algo CRC32 est de BruNews:
http://www.cppfrance.com/codes/CRC32-ULTRA-SIMPLE-WIN32_32855.aspx

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.