Я пишу приложение на c #, используя .NET 2.0. Мне нужно использовать старую библиотеку для проприетарного сжатия. У меня нет исходного кода для библиотеки, и разработчиков за ним давно нет.
Моя проблема в том, что результирующий символ [] содержит нули и усекается. Вот объявление для функции:
[DLLImport("foo.dll")]
public static extern bool CompressString(char[] inputValue, out char[] outputValue, uint inputLength, out uint outputLength);
Как я могу объявить, что выходной символ [] должен обрабатываться как байт [], а не завершаться нулем?
Подробнее:
У меня есть файл заголовка. Вот декларация:
BOOL CompressString(char *DecompBuff, char **RetBuff, unsigned long DecompLen, unsigned long *RetCompLen);