p/invoke를 사용하여 일부 창 기능을 사용하고 있습니다. 때때로 ERROR_SUCCESS (이상한 이름)가 아닌 오류 코드가 나타납니다.16 진수에서 Windows 시스템 오류 코드 제목/설명 얻기
프로그램 내에서이를 찾는 방법이 있습니까? 내가 오류 1017를 얻을 경우 Forexample, 나는이 시스템은로드하거나 레지스트리로 파일을 복원하려고 시도했지만 지정된 파일이 레지스트리 파일 형식이 아닌 한 사용자에게
을 알 수 있습니다. (ERROR_NOT_REGISTRY_FILE : 0x3F9)
대신
오류 코드 : 1017
HTTP : //www.pinvoke합니다. net/default.aspx/kernel32/FormatMessage.html 결코 FormatMessage를 사용하지 않는다고 말합니다. – Malfist
@Malfist, 그것을 지적 해 주셔서 감사합니다. 오류 코드를 검색하기 위해 Marshal.GetLastWin32Error를 사용하는 한 괜찮습니다. 그럼에도 불구하고 Win32Exception이 더 나은 솔루션 인 것처럼 보입니다. –
그러나 두 솔루션 모두 설명적인 오류 메시지 만 표시합니다. 이들 중 어느 것도 문서에서 볼 수있는 밑줄 (** ERROR_NOT_REGISTRY_FILE **)이있는 대문자로 된 오류 이름을 갖지 않습니다. 여기에 와서 그것에 궁금한 사람은 최근에 [프로그래밍 방식으로 오류 이름을 결정하는 방법에 관한 질문] (http://stackoverflow.com/q/30203717/1248365)을 요청했으며 응답이 당신은 할 수 없습니다. Windows SDK에서 제공하는 C++ 포함 파일 인 winerror.h의 상수 이름을 참조합니다. –