WIN32APIの関数でエラーコードを
判定してそれぞれ処理を分けたいと思っています。
そのため、WIN32APIのエラーコードのマクロを参照したいのですが、
どのファイル(ヘッダー)を参照したら良いのでしょうか?
詳細なことを言うと、
FindFirstFile()で、エラーが返ってきた場合、
ファイルが存在しないケースと、それ以外のエラーのケースで
処理を分けようと思っていますが、
ENOENTは、Cのシステム関数エラーコードと思い、
WIN32APIの独自のエラーコードって存在するのか知りたく。
お手数おけしますが、よろしくお願い致します。
環境:Windows2000 VC++6.0
ENOENT ってどこからでてきたのやら。
void CA00Dlg::OnOK()
{
HANDLE hFF;
WIN32_FIND_DATA found;
hFF = FindFirstFile( "C:\\baboo*.*", &found );
if( hFF != INVALID_HANDLE_VALUE )
{
TRACE("OK. %s.\n", found.cFileName );
FindClose( hFF );
}
else
{
DWORD dwErr = GetLastError();
TRACE("%d %08X.\n", dwErr, dwErr );
if( dwErr == ERROR_FILE_NOT_FOUND )
{ // ↑これで右クリックして定義位置を見る。
// (WinError.h)
// 見つからないときの処理
}
else
{
// その他のエラー処理
}
}
//CDialog::OnOK();
}
> ENOENT ってどこからでてきたのやら。
<errno.h> で定義される errno 用のエラー値だと思いますが。
<MSDN>
ENOENT
ファイルまたはディレクトリがない。
指定されたファイルまたはディレクトリが存在しないか、見つかりません。
このメッセージは、指定のファイルが存在しない場合、
またはパスのコンポーネントが既存のディレクトリを指定していない場合に発生します。
</MSDN>
# 重複スレ - http://madia.world.coocan.jp/cgi-bin/Vcbbs/wwwlng.cgi?print+200601/06010050.txt
説明が漏れてました。
findfirst の方を調べると、ENOENT が出てきます。
>> ENOENT ってどこからでてきたのやら。
> <errno.h> で定義される errno 用のエラー値だと思いますが。
あ、いや Win32 用のマクロをつかうべきところに
標準ライブラリ用のマクロを流用しないでほしかっただけで。
まあ、どちらも値は2で同じではありますが。