Пишу функцию — обертку для RtlCompressBuffer, которая позволит максимально упростить код и ускорить написание.
Вот в RtlCompressBuffer очень не нравится, что размер выходного буфера ты подбираешь сам от какой-то балды, типа "с запасом".
Просто сделать его равным входному буферу — не вариант — выходной может оказаться больше входного в неудачном случае (если входной всего несколько байт или вовсе 0 байт). Или не может?
Как быть? Если тупо умножить размер входного в несколько раз (забив на экономию ресурсов), то во сколько?
Сделать так, как это делается обычно (предварительно вызвать функцию с нулевым буфером, чтобы вернуть результат) именно нельзя, судя по всему.