Udostępnij za pośrednictwem


Hresult 값을 Win32 Error code 로 변환하기

Windows 의 Error Code 를 확인 하다 보면 COM 과 같은 것의 경우 Win32 Error code 가 아닌 Hresult 를 사용하는 것을 볼 수 있습니다.

이 때 이 값만 가지고는 어떤 Error 인지 확인하기 힘든데 다음 방법을 사용하면 손쉽게 Win32 Error 인지 확인할 수 있습니다.

예) 0x80070057

첫 번째 8은 Error 를 의미하고 007 은 Win32 Error 임을 의미하고 0057d은 Win32 Error code 이다. 결국 0x57 ERROR_INVALID_PARAMETER 을 나타내는 것 입니다.

SDK Help 에는 다음과 같이 나오는 군요

Return code used by interfaces. It is zero upon success and nonzero to represent an error code or status information.

E_ABORT 0x80004004 The operation was abort because of an unspecified error.
E_ACCESSDENIED 0x80070005 A general access-denied error.
E_FAIL 0x80004005 An unspecified failure has occurred.
E_NOINTERFACE 0x80004002 One or more arguments are invalid.

Comments