Win32 エラー コードのリストでは、各エラーに次の 3 つのコンポーネントがあります。
- 数値エラー コード
- 説明的なメッセージ
- アンダースコアで区切られた大文字の単語で構成される識別子
documentationによると、 「メッセージ識別子」という用語は説明的なメッセージを指しますが、大文字のエラー名の用語が何であるかは言及されておらず、どこにも見つかりませんでした。これらの識別子は、PowerShell ErrorRecord オブジェクトの「エラー ID」と呼ばれるものに類似しているように見えますが、「win32 エラー ID」と「win32 エラー ID」をグーグル検索しても答えが得られませんでした。
たとえば、次のエラーの場合:
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プロパティに類似)。
一部のリストでは、この種の識別子が「定数」と呼ばれているのを見てきましたが、それらが定数である場合、それらはどこで定義/列挙されており、プログラムからどのようにアクセスしますか?