Нет, Windows не будет выполнять магическое преобразование на лету.Вам придется сделать это самостоятельно.
Вот как я бы, вероятно, сделал это:
Создайте DLL-оболочку, скомпилированную как многобайтовую (чтобы гарантировать, что заголовки упакованной DLL-библиотекиправильно истолковано).Однако в коде самой оболочки, а также ее заголовка я бы не использовал ни один из макросов ANSI / UNICODE, например _T, вместо этого я бы явно использовал char и 'wchar_t' по мере необходимости.
Для каждой функции обернутой DLL, которая вам нужна, если она имеет какой-либо ввод или вывод символов (непосредственно или в структурах), напишите функцию-обертку, которая преобразует входные строки (типа 'wchar_t *') в 'char *'строки через 'WideCharToMultiByte' перед вызовом функции с переносом.Аналогично, преобразуйте выходные параметры обратно в Unicode, используя 'MultiByteToWideChar'.