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

Posted

技术标签:

【中文标题】Windows API 函数名称中的“Ex”代表啥?【英文标题】:What does "Ex" stand for in Windows API function names?Windows API 函数名称中的“Ex”代表什么? 【发布时间】:2011-05-01 15:26:23 【问题描述】:

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

我的假设是这代表 Extension 或 Extra 有人可以确认吗?

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

【问题讨论】:

它代表“'Ex'cuse us, but we didn't make this thing first time,但我们不能只添加这个功能,因为它会破坏现有的界面,所以有这个新功能!”或者,它也可能是 peachykeen 的答案。 </facetiousness>呵呵 @Andrew:我想说你可能是对的。我们很幸运,他们还没有在我们身上释放 Ex2 API。 :p What does it mean when Ex is added to a function/method name? 的可能重复项 注意后缀2也用了:IsWow64ProcessIsWow64Process2 好吧,在 Windows 7 中,当 MS 认为 IVdsVolumeMF2::FormatEx 还不够时,我们得到了 IVdsVolumeMF3::FormatEx2... 【参考方案1】:

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

例如,带有 4 个参数的 CreateFile 是典型版本,带有 17 个参数的 CreateFileEx 是提供更多控制和更详细的文件打开方式、如果文件不存在会发生什么等的版本,因此得到了扩展。

【讨论】:

【参考方案2】:

当微软更新某个功能并且新功能与旧功能不兼容时,微软会继续支持旧功能。新函数保持与旧函数相同的名称,并添加了 -Ex 后缀。

【讨论】:

我想知道你对 VirtualAlloc2CreateFile2 的看法然后...... ?

以上是关于Windows API 函数名称中的“Ex”代表啥?的主要内容,如果未能解决你的问题,请参考以下文章

C 标准库函数名称中的“f”代表啥?

请问EXCEL中的函数英文缩写各代表啥?

api函数是啥意思,有啥分类?

Java中有些方法的函数名会出现划线,这划线代表着啥意思吗?

如何更改我的 Lambda 函数 API 端点的名称

nmds bray-curtis 相异指数中的 x 和 y 轴代表啥?(Vegan package R)