В Windows есть две версии почти для всех функций: версия ASCII, которая принимает «нормальные» строки с узкими символами и имеет весь суффикс A
(как в GetDriveTypeA
);И функции широких символов «Юникод», которые идентифицируются по суффиксу W
.
Вы можете выбирать между ними, задав макрос UNICODE
, который заставит функции без суффикса использовать широкий-символы функций, в противном случае (если макрос не определен) используются узкосимвольные функции.
Есть два способа решения вашей проблемы:
- Использование широкогосимвольная функция
GetDriveTypeW
явно;Или - Определите макрос
UNICODE
, чтобы заставить все функции Windows API использовать функции широких символов.
Если вы используете только несколько функций широких символов, перейдитес первым решением (явно использующим функции широких символов), в противном случае было бы проще определить макрос (решение 2).