在Win32 错误代码列表中,每个错误都包含三个组成部分:
- 数字错误代码
- 描述性消息
- 由下划线分隔的大写单词组成的标识符
根据文档,术语“消息标识符”是指描述性消息,但它没有说明大写错误名称的术语是什么,我无法在任何地方找到它。这些标识符似乎类似于 PowerShell ErrorRecord 对象中所谓的“错误 ID”,但谷歌搜索“win32 错误 id”和“win32 错误标识符”并没有得到答案。
例如,在以下错误中:
ERROR_TOO_MANY_OPEN_FILES
4 (0x4)
系统无法打开文件。
4
是错误代码。The system cannot open the file.
是消息标识符。ERROR_TOO_MANY_OPEN_FILES
是个 __________?
此外,如果给出错误代码,如何确定此文本值?我可以很容易地确定与给定错误代码相关的消息标识符,如下所示:
string MessageIdentifier = new Win32Exception(ErrorCode).Message;
但是,Win32Exception 类似乎没有与这些大写错误名称对应的属性(类似于 ErrorRecord 类的ErrorId属性)。
在一些清单中,我看到这些类型的标识符被称为“常量”,但如果它们是常量,它们在哪里定义/枚举以及如何从程序中访问它们?