#c #visual-c #device-driver #wdk #nt-native-api
#c #visual-c #драйвер устройства #wdk #nt-native-api
Вопрос:
Я разрабатываю драйвер устройства на Visual C . Мне нужно преобразовать массив символов в Юникод, а также широкий массив символов в моем драйвере.
Указатель на полезные функции будет оценен по достоинству. Я знаю «RtlInitUnicodeString», который переводит wchar в Юникод, но мне нужна помощь для преобразования простых массивов символов.
Комментарии:
1. Какова кодировка вашего «массива символов»? Какую кодировку Юникода вы хотите использовать на выходе?
2. Если это массив символов, то кодировка уже может быть Unicode (UTF-8). PS термин Юникод не является кодировкой, это общее описание кодовых точек символов. Он может быть закодирован несколькими различными способами (UTF-8/16/32)
Ответ №1:
Если вас устраивает настройка «current system locale» для кодировки ввода и вывода в обычном UTF-16, RtlAnsiStringToUnicodeString должен быть доступен в режиме ядра.
Комментарии:
1. Сначала преобразовал массив символов в ANSI_STRING с помощью «RtlInitAnsiString()», а затем использовал RtlAnsiStringToUnicodeString().