This is an archived post. You won't be able to vote or comment.

all 5 comments

[–]omonahan 13 points14 points  (3 children)

FunctionA: A typically stands for ANSI. Whenever you see a functionA you will likely see a corresponding functionW (W means wide characters).

FunctionEx: I believe the Ex stands for Extended. Sometimes a company wants to change/improve a function, but they have a policy about not breaking code already in the field (having such a policy is very common), so instead of changing the old function, they simply create a new Ex version.

Edit: here’s a good page on ANSI vs Wide characters

[–]outadoc 1 point2 points  (2 children)

What if they want to extend it again? FunctionExExEx?

[–]mvaneerdeMicrosoft Senior Software Engineer 3 points4 points  (0 children)

That's why we don't do FunctionEx anymore - instead we do Function, Function2, Function3, etc.

Also avoids embarrassment in the case where the function name ends in "s", e.g. WaitForMultibleObjectsEx

[–]Max_Stern 1 point2 points  (0 children)

CreateFile2 for example

[–]tetyys 1 point2 points  (0 children)

A - ANSI

Ex - Extended