Calling CfixRegisterThread is optional and usually not required. The only situation where calling CfixRegisterThread can be beneficial is if you would like to make use of Auto Joining.
Please refer to the section Anonymous Thread Auto-Registration for more information.
If CfixRegisterThread is called on a thread created using CfixCreateThread, E_UNEXPECTED will be returned as it is unecessary to call CfixRegisterThread on such a thread.
If CfixRegisterThread is called and Anonymous Thread Auto-Registration has not been enabled, E_UNEXPECTED will be returned.