J'ai une DLL Windows qui supporte actuellement uniquement ASCII et j'ai besoin de le mettre à jour pour travailler avec les chaînes Unicode. Cette DLL utilise actuellement des char * strings dans un certain nombre d'endroits, avec un certain nombre d'appels ASCII Windows API (comme GetWindowTextA, RegQueryValueExA, CreateFileA, etc).Modification de la DLL C++ pour prendre en charge unicode - les pièges courants à éviter?
Je souhaite passer à l'utilisation des macros unicode/ascii définies dans VC++. Donc, au lieu de CHAR ou CHAR, j'utiliserais TCHAR. Pour char * j'utiliserais LPTSTR. Et je pense que des choses comme sprintf_s seraient changées en _stprintf_s.
Je n'ai jamais vraiment traité d'unicode auparavant, donc je me demande s'il y a des pièges courants que je devrais surveiller en faisant cela. Devrait-il être aussi simple que de remplacer les types et les noms de méthodes par les macros appropriées, ou y a-t-il d'autres complications à surveiller?
La mémoire brute que je suis assez sur. Je suis plus préoccupé par les problèmes d'API Win que je pourrais rencontrer, ou par les cas d'angle qui pourraient ne pas être immédiatement évidents. – Herms