如果进程中的一个终止线程持有锁并且其中一个加载的DLL中的DLL分离代码尝试获取相同的锁,则调用ExitProcess会导致死锁。 相反,如果进程通过调用
TerminateProcess终止,则进程附加的DLL不会被通知进程终止。 因此,如果您不知道进程中所有线程的状态,最好调用TerminateProcess而不是ExitProcess。 请注意,从应用程序的main函数返回会导致对ExitProcess的调用。
在DLL中调用ExitProcess可能会导致意外的应用程序或系统错误。 只有当您知道哪些应用程序或系统组件将加载DLL并且在此上下文中调用ExitProcess是安全的时,才确保从DLL调用ExitProcess。