Can anyone elucidate whether the new UTF-8 codepage allows working with filenames that aren’t valid UTF-16 (i.e. containing mismatched surrogate code points)?
In general I think it’s best to stick with the native "W" functions and/or wchar_t on Windows.