В WinAPI приложение может быть скомпилировано либо с 8-битными кодировками (мультибайт), либо с 16-битным уникодом. Сишные строки будут при этом инициализироваться в исходнике либо как
CHAR var[] = "Строка"; // Для 8-битной локали
либо как
WCHAR var[] = L"Строка"; // Для UTF-16
При этом при передаче строк в функции, расчитанные на работу с другой локалью будет возникать ошибка. Для решения используют макросы, одним из которых является _TEXT() - все это дело автоматически преобразовывает используемые строки и функции в нужный вид,в зависимости от того, что выставлено в свойствах проекта, а сам исходник пишется следующим образом:
TCHAR var[] = _TEXT("Строка"); // Автовыбор режима кодировки
Здесь _TEXT подставит префикс L, если он нужен и не будет этого делать в мультибайте