I don't know if this answers your question, but here goes.
The Windows functions which take a string argument come in two flavors,
i.e., with 'A' appended to its name, or with 'W' appended. These are for
Ascii (char) strings or for Wide (wchar_t) strings. For example, there is
CreateFileA() and CreateFileW(). You can see these in your Windows SDK
header files. The unadorned names, e.g., CreateFile() will be converted to
one of the two forms depending on whether UNICODE is defined or not during
compilation.
So if you want to use the unicode versions, make sure that UNICODE is
defined as a compiler constant. Otherwise you can excplicitly call the 'W'
functions.