0

私はこれらを意味します:http://msdn.microsoft.com/en-us/library/windows/desktop/ms681382 (v = vs.85).aspx

すべてのエラーに対する3つのデータは次のとおりです。

0 (0x0)
ERROR_SUCCESS
The operation completed successfully.

1 (0x1)
ERROR_INVALID_FUNCTION
Incorrect function.

2 (0x2)
ERROR_FILE_NOT_FOUND
The system cannot find the file specified.

したがって、エラー番号はGetLastError()から返されます。また、FormatMessage http://msdn.microsoft.com/en-us/library/windows/desktop/ms679351(v=vs.85)を使用して説明を取得する方法も知っています。 .aspx。しかし、私の質問は、次のエラーフラグを取得する方法です:ERROR_INVALID_FUNCTION、ERROR_FILE_NOT_FOUND-文字列として。そのためのマップを自分で作成できることは知っていますが、エラーの説明と同じように、これらがウィンドウ内のどこかにまだ保存されていないのではないかと思います。

[OT]ここにエラーの説明の抜粋があります。

char *err_msg;
int num_chars = FormatMessage(
  FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM,
  NULL,
  errCode,
  MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // default language
  (LPTSTR) &err_msg,
  0,
  NULL
);
4

1 に答える 1

3

Windowsに組み込まれているそのようなメソッドはありません。

#define識別子は、CおよびC ++言語に固有であり、C#などでは使用されません。もう1つの注意点は、ERROR_INVALID_HANDLE(Win32)やWSA_INVALID_HANDLE(Winsock)など、使用するAPIに応じて、同じエラーコードに対して複数の異なる#defineが存在する可能性があることです。

于 2013-02-03T18:20:55.470 に答える