为什么没有ReadDirectoryChangesA?

Winapis中有ReadDirectoryChangesW 。 但是没有ReadDirectoryChangesA。

好奇。
为什么特别对待? 有谁知道原因或历史?

它从来没有存在于Win98 / 98 / SE / Me中。 许多(大多数)仅仅从一开始就是NT的函数(比如Net * API)只能用于“宽”版本(尽管在Net *的情况下,它们省略了“W”后缀) 。

内核内部正在使用unicode编码。 带W后缀的Win32 API通常转换为内部的NtXxx API。 A版本的Win32 API需要从ASCII转换为Unicode,调用W版本,然后将任何输出转换回ASCII。

在ReadDirectoryChangesW的情况下,最后一部分是不可能的,因为数据直接从文件系统读取到调用者的缓冲区,并且可能 API返回之后 ,所以不可能实现ReadDirectoryChangesA。