Здравствуйте Lonely Dog, Вы писали:
LD>Привет всем. Вчера разобрался с поддержкой компрессии в NT. если кто не знает: есть 2 функции: RtlCompressBuffer и RtlDecompressBuffer. Сидят они в ntdll.dll и в ntoskrnl.exe. С помощью них можно сжимать данные. (на их основе работает компрессия на NTFS) С RtlDecompressBuffer понятно как работать. C RtlCompressBuffer тоже. Но есть один момент:
LD>RtlCompressBuffer имеет следующий прототип: LD>NTSYSAPI LD>ULONG LD>NTAPI LD>RtlCompressBuffer ( LD> IN USHORT CompressionFormatAndEngine, LD> IN PUCHAR UncompressedBuffer, LD> IN ULONG UncompressedBufferSize, LD> OUT PUCHAR CompressedBuffer, LD> IN ULONG CompressedBufferSize, LD> IN ULONG UncompressedChunkSize, LD> OUT PULONG FinalCompressedSize, LD> IN PVOID WorkSpace LD> );
LD>не совсем понятно, что такое UncompressedChunkSize. При его изменении не меняется не скорость компрессии, не степень сжатия. Может кто знает, что это такое?
что-то на этот вопрос не кто не хочет отвечать...
Тогда еще по теме: на каком уровне IRQL могут быть вызваны эти функции в Kernel Mode? Менялся ли он при выпуске новых версий OS?
PS: Я понимаю, что можно и самому исследовать этот вопрос, но у меня нет под рукой всех версий NT. (начиная с NT 3.5)