我有一个用于创建 Windows Shell 扩展的库包,特别是文件属性所需的代码。我需要我的项目支持 Unicode 文件和文本,因此我使用 Unicode 支持编译项目,但是当我使用 regsvr32 注册 dll 时,库包会自动生成 .propdesc 文件,但它似乎正在将文件写为UTF-16。当它这样做时,属性似乎没有正确注册到索引器。但是,如果我将我的 dll 编译为多字节而不是 Unicode,那么这个文件将以 ASCII 编码编写和注册,然后就可以工作了。
由于 .propdesc 文件是一个带有标头“UTF-8”的 XML 文档,我认为编码必须是 UTF-8,但我知道 Windows 并不总是尊重这个想法。那么有谁知道索引器是否会接受 UTF-16 格式的属性描述方案文件,还是只接受 UTF-8/ASCII 编码的文件?