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
This is a Codeguru.com survey!