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也用了:IsWow64Process
和IsWow64Process2
好吧,在 Windows 7 中,当 MS 认为 IVdsVolumeMF2::FormatEx 还不够时,我们得到了 IVdsVolumeMF3::FormatEx2...
【参考方案1】:
我的印象是它代表扩展,就像那个特定库的更详细的界面一样。
例如,带有 4 个参数的 CreateFile 是典型版本,带有 17 个参数的 CreateFileEx 是提供更多控制和更详细的文件打开方式、如果文件不存在会发生什么等的版本,因此得到了扩展。
【讨论】:
【参考方案2】:当微软更新某个功能并且新功能与旧功能不兼容时,微软会继续支持旧功能。新函数保持与旧函数相同的名称,并添加了 -Ex 后缀。
【讨论】:
我想知道你对VirtualAlloc2
和 CreateFile2
的看法然后...... ?以上是关于Windows API 函数名称中的“Ex”代表啥?的主要内容,如果未能解决你的问题,请参考以下文章