Необходима FSF-функция определения кодовой страницы буфера:
Code: Select all
typedef unsigned __int64 UCDFLAGS;
struct FARUCD
{
size_t structSize;
const void* data;
size_t size;
UCDFLAGS Flags;
UINT codepage;
size_t offset;
void* reserved;
}
BOOL DetectCodepage(FARUCD*);
structSize - размер структуры
data - что тестим
size - размер тестирования
Flags - разнообразные флаги
codepage - сюда Far пишет кодовую страницу
offset - сюда Far пишет смещение данных относительно data (пропуск сигнатур)
reserved - неопознанноё прочее (зарезервировано)
DetectCodepage() вернёт TRUE в случае "успешного" опознания данных (переменная FARUCD::codepage будет содержать "найденное/вычисленное" значение кодовой страницы данных) или FALSE, в случае непонятного содержимого.
Вижу потребность по крайне мере в FarCmds и TempPanel, чтобы не тянуть весь UCD.