进程正常退出的返回值一定是0吗?该怎么处理

进程正常退出的返回值一定是0吗?
如题。
无论任何进程,只要正常退出,返回值一定是0吗?还是在程序中可以任意指定退出码。
我想用GetExitCodeProcess来获取进程退出的返回值,通过比较lpExitCode是否为0可以判断进程正常退出吗?

------解决方案--------------------
可以指定任意的退出代码。这个值是你用ExitProcess(n)中的n,你完全可以使用自己的退出值,原则就是易于你判断程序是否出错,以及错误的可能原因等。
正常退出返回0是一个习惯,如果其他人用你的程序,他可以根据这个值来简单判断是否正常结束。