November 16th, 2009, 12:01 AM
ISAPI unicode filenames
Hi good people! I have a unicode problem; I have created a ISAPI DLL in C++ that takes in a filename and then sends a file to the requesting client. (The DLL is executed from a browser.)
Problem is that when I send in a Japanese filename (where each character need two bytes) the application believes the file doesn't exist.
I'm trying to get a file named "日本語.jpg".
This is turned into ANSI characters in the application: "日本語.jpg".
Then when I try to open the file:
...it doesn't find the file since it checks for the ANSI version of the Unicode file name. If I rename the file to "日本語.jpg" and then try to get "日本語.jpg" I can get the file (but that means I have to rename the files to weird symbols).
HANDLE fileHandle = CreateFile(
filePath, //the file path, char *filePath
The question is:
Can I make it so that the CreateFile function understands that "filePath" is Unicode and not ANSI? Or is there some other way to get a HANDLE to the correct file?
Desperate for help, I just discovered this and if there is no way of fixing it it will mean I have wasted weeks coding for a broken system!
November 16th, 2009, 03:24 AM
Re: ISAPI unicode filenames
CreateFile is just a macro for CreateFileA and CreateFileW.
Use CreateFileW for Unicode filenames, or just compile your entire project as Unicode.
Tags for this Thread
Click Here to Expand Forum to Full Width