DX9:Handle all errors in reset function. 

MSDN is not correctly maybe...
Anything else?
error_message will be an invalid pointer if the "hr" error code is not one of these cases and cause access violation error. there are functions in win32 API can convert the error code to the error message.