由于开发环境中有英文版的需要,所以需要在时区设置为英文时区时,能使用驱动写中文文件。
相比在中文环境下,会产生的问题简单来说就是Unicode字符的写入问题。
写入函数主要是以下这个函数
ZwWriteFile(readFileHandle, NULL, NULL, NULL, &ioStatusBlock, conTwo, 2 * sizeof(WCHAR), &byteOffset, NULL);
1.原因
之前因为写入Unicode字符会有格式上的显示问题,所以在写入之前会进行转换:
//写入content(Unicode),转换为string(ANSI STRING)
RtlUnicodeStringToAnsiString(&string, &content, FALSE);
然后这个转换直接导致了英文版下乱码显示,猜测的原因就是官网界面的这句话
简单来说,就是这