У меня есть Windows DLL, которая в настоящее время поддерживает только ASCII, и мне нужно обновить ее для работы со строками Unicode. Эта DLL в настоящее время использует строки char * в нескольких местах, а также выполняет несколько вызовов ASCII Windows API (таких как GetWindowTextA, RegQueryValueExA, CreateFileA и т. Д.).
Я хочу перейти на использование макросов unicode / ascii, определенных в VC ++. Поэтому вместо char или CHAR я бы использовал TCHAR. Для char * я бы использовал LPTSTR. И я думаю, что такие вещи, как sprintf_s, будут изменены на _stprintf_s.
Я никогда раньше не имел дело с юникодом, поэтому мне интересно, есть ли какие-нибудь распространенные подводные камни, на которые я должен обратить внимание при выполнении этого. Должно ли это быть так же просто, как достаточно заменить имена типов и методов соответствующими макросами, или есть другие сложности, на которые стоит обратить внимание?