c++windowscredentialscredential-providerscredential-manager

Unable to use non ascii chars (accents) in Windows Credentials Provider


I'm creating a Windows Credentials Provider using the Microsoft's "Sample All UI" example.

As French speaker, i need to use accents like that : "éàèê". All my strings are widechar strings (syntax: L"Numéro de téléphone"), and all the strings functions i use are the widechar version (wcsdup, wcscpy...)

But when i load my provider, accents spawn as a set of random chars like © or Ã. It clearly looks like an encoding error, but I cant find how.

Are Credentials providers supporting special chars ? I known that default credential provider in french will display accents.

Thank you very much.


Solution

  • I finally loaded my text as UTF-8 from a file, and conveted it to UTF-16 with this function :

    MultiByteToWideChar(CP_UTF8, 0, s.c_str(), slength, 0, 0);
    

    Note the flag : CP_UTF8

    I used theses generated strings, and it worked.