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