# XLat

Функция `FSF.XLat` используется для конвертирования части строки из одного набора символов (например, Русский) в другой (например, Латиница).

    wchar_t* WINAPI XLat(
      wchar_t *Line,
      intptr_t StartPos,
      intptr_t EndPos,
      XLAT_FLAGS Flags
    );

### Параметры

Line
Указатель на строку, часть которой будет перекодирована.
StartPos
Начальная позиция в строке `Line`.
EndPos
Конечная позиция в строке `Line`.
Flags
Может быть комбинацией следующих значений (тип XLAT_FLAGS):

Флаг | Описание
--- | ---
XLAT_SWITCHKEYBLAYOUT | Переключает раскладку клавиатуры после обработки строки.
XLAT_SWITCHKEYBBEEP | Выдать звуковой сигнал после переключения раскладки (работает если установлен флаг `XLAT_SWITCHKEYBLAYOUT`).
XLAT_USEKEYBLAYOUTNAME | Использовать предопределенные именованные правила для "двойных" клавиш. Параметр в базе настроек c именем раскладки, например: "XLat/00000409:reg_sz" обозначает "набирали по-русски в английской раскладке" "XLat/00000419:reg_sz" обозначает "набирали по-английски в русской раскладке" и т.п. Также, если установлен флаг `XLAT_SWITCHKEYBLAYOUT`, то переключение раскладок происходит только по списку значений, перечисленных в "XLat/Layouts:reg_sz" (перечисление через ';'), независимо от количества установленных в системе раскладок (больше 2).
XLAT_CONVERTALLCMDLINE | Конвертировать всю командную строку при отсутствии выделенного блока.
XLAT_NONE | Нулевой флаг.

### Возвращаемое значение

Эта функция возвращает указатель на преобразованную строку.