рдЙрдирдХреЗ рдХреЛрдб рд╕реЗ рддреНрд░реБрдЯрд┐ рдкрд╛рда рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпреЛрдВ рдХреА рд╕реВрдЪреА (WinAPI)



рдирдорд╕реНрдХрд╛рд░!

рдореИрдВ рдЙрдирдХреЗ рдХреЛрдб рд╕реЗ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рдкрд╛рда рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЕрд╡рд▓реЛрдХрди рдкреНрд░рд╕реНрддреБрдд рдХрд░рддрд╛ рд╣реВрдВ, рдЬреЛ рддреНрд░реБрдЯрд┐ рд▓реБрдХрдЕрдк рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

1. рдлреЙрд░реНрдордореИрд╕реЗрдЬ

рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рдЗрддрдирд╛ рд╕рд░рд▓ рдирд╣реАрдВ рд╣реИ рдЬрд┐рддрдирд╛ рдпрд╣ рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ (рдЙрдкрд░реЛрдХреНрдд рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рдЕрдзрд┐рдХрд╛рдВрд╢ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЗрд╕рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рд╕рд┐рд╕реНрдЯрдо рддреНрд░реБрдЯрд┐ рдХреЛрдб рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдмрд┐рдВрджреБ 2 рджреЗрдЦреЗрдВ)ред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдлрд╝рдВрдХреНрд╢рди рд╕рд┐рд╕реНрдЯрдо рддреНрд░реБрдЯрд┐ рдХреЛрдб рджреЗрддрд╛ рд╣реИред

рдПрдХ рдЙрджрд╛рд╣рд░рдг:
рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд╕рд┐рд╕реНрдЯрдо рддреНрд░реБрдЯрд┐ рдХреЛрдб рд╕реЗ рддреНрд░реБрдЯрд┐ рдкрд╛рда рдорд┐рд▓рддрд╛ рд╣реИ

//      FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, NULL, 1337, 0, lpszBuffer, cchBuffer, NULL); printf("Error Code: %d\nError Name: %s", 1337, lpszBuffer); 


рдкрд░рд┐рдгрд╛рдо:
 Error Code: 1337 Error Text:     . 

2. рдлрд╝реЙрд░реНрдореЗрдЯрдореИрд╕реЗрдЬ + FORMAT_MESSAGE_FROM_HMODULE

рдЬрдм FORMAT_MESSAGE_FROM_HMODULE рдзреНрд╡рдЬ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЖрдк рдореЙрдбреНрдпреВрд▓ (DLL) рд╕реЗ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рд╕реВрдЪреА рдХреЛ рд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рд╕реВрдЪреА рд╕реНрдерд┐рдд рд╣реИ:


рдЖрдк рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдЗрд╕ рдкрджреНрдзрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЖрдкрдХреЛ рдмрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рдПрдХ рд╕рдВрджреЗрд╢ рддрд╛рд▓рд┐рдХрд╛ рд╕рдВрд╕рд╛рдзрди рдкреИрдХ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ (рдзрдиреНрдпрд╡рд╛рдж ertaquo )

рдПрдХ рдЙрджрд╛рд╣рд░рдг:
рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рддреНрд░реБрдЯрд┐ рдбреЗрдЯрд╛рдмреЗрд╕ ntdll.dll рдлрд╝рд╛рдЗрд▓ рд╕реЗ рд▓реЛрдб рд╣реИред

 //  ntdll.dll    NTSTATUS  FormatMessage(FORMAT_MESSAGE_FROM_HMODULE, LoadLibrary("ntdll.dll"), -1072037872, 0, lpszBuffer, cchBuffer, NULL); printf("Error Code: %d\nError Name: %s", -1072037872, lpszBuffer); 


рдкрд░рд┐рдгрд╛рдо:
 Error Code: -1072037872 Error Text:          . 

3. DXGetErrorString рдФрд░ DXGetErrorDescription



рдПрдХ рдЙрджрд╛рд╣рд░рдг:
DirectX рддреНрд░реБрдЯрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдЙрджрд╛рд╣рд░рдг:

 //   DirectX  printf("Error Code: %d\nError Name: %s\nError Text: %s", 1337, DXGetErrorString((HRESULT)1337), DXGetErrorDescription((HRESULT)1337)); 


рдкрд░рд┐рдгрд╛рдо:
 Error Code: 1337 Error Name: ERROR_INVALID_SID Error Text: The security ID structure is invalid. 

4. RasGetErrorString

рдЖрд░рдПрдПрд╕ рдлрд╝рдВрдХреНрд╢рди рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕реЗ рддреНрд░реБрдЯрд┐ рдкрд╛рда рдХреЛ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдлрд╝рдВрдХреНрд╢рди

рдПрдХ рдЙрджрд╛рд╣рд░рдг:
рдлрд╝рдВрдХреНрд╢рди рдХреЛ RAS рддреНрд░реБрдЯрд┐ рдХреЛрдб рд╕реЗ рддреНрд░реБрдЯрд┐ рдкрд╛рда рдорд┐рд▓рддрд╛ рд╣реИ

 //    RAS  RasGetErrorString(633, lpszBuffer, cchBuffer); printf("Error Code %d\nError Text: %s", 633, lpszBuffer); 


рдкрд░рд┐рдгрд╛рдо:
 Error Code: 633 Error Text:          . 

5. GetIpErrorString

IP рд╣реЗрд▓реНрдкрд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕реЗ рддреНрд░реБрдЯрд┐ рдкрд╛рда рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдлрд╝рдВрдХреНрд╢рди

рдПрдХ рдЙрджрд╛рд╣рд░рдг:
рдлрд╝рдВрдХреНрд╢рди рддреНрд░реБрдЯрд┐ рдкрд╛рда рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред

 //    IP Helper Library GetIpErrorString(12, lpszBuffer, cchBuffer); printf("Error Code %d\nError Text: %s", 12, lpszBuffer); 


рдкрд░рд┐рдгрд╛рдо:
 Error Code: 12 Error Text: General failure. 

рдмреЛрдирд╕

рдХрд╛рд░реНрдпрдХреНрд░рдо рдбрд╛рдЙрдирд▓реЛрдб рд▓рд┐рдВрдХ

Source: https://habr.com/ru/post/In149116/


All Articles