char szUtf8[LINE_SIZE];
int n = GetPrivatePrivateStringA("section", "key", "", szUtf8, LINE_SIZE, "inifile.ini");
DWORD flags = 0; // some conversion option here
int n2 = MultiByteToWideChar(CP_UTF8, flags, szUtf8, -1, NULL, 0);
// ...allocate buffer
MultiByteToWideChar(CP_UTF8, flags, szUtf8, -1, pUtf16, n2);
Above code can work? (I did not check this with real code yet) Good luck :)