Windows API 函数名称中的“Ex”代表什么?

What does "Ex" stand for in Windows API function names?

提问人:Maxim Gershkovich 提问时间:10/28/2010 最后编辑:ssubeMaxim Gershkovich 更新时间:8/31/2019 访问量:17108

问:

在 Windows API 和各种其他库中,我看到了方法的多个入口点,我注意到在 MyApiCall 和 MyApiCallEx 等场景中使用了 Ex 缩写。

我的假设是,这代表扩展或额外,有人可以确认吗?

关于为什么选择 Ex 而不是 MyApiCall2 或类似内容的任何历史也将不胜感激。

C Windows API 共享库

评论

84赞 Andrew Barber 10/28/2010
它代表“'Ex'cuse us,但我们第一次没有正确地制作这个东西,但我们不能只是添加这个函数,因为它会破坏现有的接口,所以有这个新功能!或者,这也可能是 peachykeen 的答案。 呵呵</facetiousness>
1赞 ssube 10/28/2010
@Andrew:我想说你可能是对的。我们很幸运,他们还没有向我们释放 Ex2 API。:p
0赞 Benoit 4/12/2011
可能的重复项 将 Ex 添加到函数/方法名称时是什么意思?
0赞 phuclv 12/21/2019
请注意,后缀 2 也用于: 和IsWow64ProcessIsWow64Process2
0赞 kFYatek 6/22/2021
好吧,在 Windows 7 中,当 MS 认为 IVdsVolumeMF2::FormatEx 还不够时,我们得到了 IVdsVolumeMF3:FormatEx2......

答:

62赞 ssube 10/28/2010 #1

在我的印象中,它代表扩展,就像在那个特定库的更详细的界面中一样。

例如,具有 4 个参数的 CreateFile 是典型版本,而具有 17 个参数的 CreateFileEx 是对文件打开方式、不存在时会发生什么情况等提供更多控制和更精细细节的版本,因此可以扩展。