I have noticed that in the SlimDX.Direct3D9 namespace there is a lot of classes and methods with two different versions. One version has an Ex suffix. I think this is true of the DX9 API as well.
For example:
SlimDX.Direct3D9.Device
SlimDX.Direct3D9.DeviceEx
SlimDX.Direct3D9.DisplayMode
SlimDX.Direct3D9.DisplayModeEx
Ex-tended is how I've always read it in my head (although it could be wrong).
C does not have overloading so if the API is updated to account for extra stuff not originally accounted for, such as a new option field, enter in FooEx
. (The same reasoning applies to new types, even though the overloading is not applicable.)
While other languages do have overloads, wrappers may keep the Ex
convention to better mirror the underlying source API, including using the "annotation" on types.
This naming convention is consistently used across large portions of Win-C/Microsoft API, but could have been Foo2
, had that been the convention.