APIが返すエラーの種類は以下のヘッダファイルに含まれています。
WINERROR.H
それでは、どのAPIがどのエラーを返すのでしょうか?
この回答は、残念ながらありません。どのAPIがどのエラーを返すか についてのドキュメンテーションはないようです。 したがって、エラーの処理ルーチンでは次に述べるような ストラテジを用いるといいでしょう。
ERROR_ACCESS_DENIEDや
ERROR_NOT_ENOUGH_MEMORYであるとか、
CreateFileAPIであれば
ERROR_PATH_NOT_FOUNDや
ERROR_SHARING_VIOLATION、
RegEnumKeyExであれば
ERROR_NO_MORE_ITEMSであるとか、
よく出現するエラーというものがあります。
そこで、これらについてはそれぞれのエラーに応じた処理を行い、
それ以外については一般的なエラーを返すようにします。
WINERROR.Hに記述されているエラー番号は
それぞれエラーメッセージ文字列に
変換することができます。
ユーザとのインタラクティヴなインタフェースをもつ
アプリケーションでは、これを用いてすべてのエラーを
ユーザにわかる文字列に変換して提示する、という方法をとります。
DOSプロンプトで実行すコマンドの中にはこの文字列を表示している
ものがあります。また、Microsoft Wordなどもある程度
このストラテジを採用しているようで、
オペレーティングシステムが不安定な環境ではミューテクスや
セマフォといった専門用語がエラーのメッセージボックスに
出現したりすることがあります。