このブラウザーはサポートされなくなりました。

Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。

Microsoft Edge をダウンロードする Internet Explorer と Microsoft Edge の詳細情報

定数は errno 、さまざまなエラー条件に対して に errno 割り当てられる値です。

ERRNO.H には、 errno 値の定義が含まれています。 ただし、 ERRNO.H に指定されているすべての定義が 32 ビット Windows オペレーティング システムで使用されるわけではありません。 ERRNO.H の値の一部は、UNIX 系のオペレーティング システムとの互換性を維持することを目的としています。 32 ビット Windows オペレーティング システムの errno 値は、UNIX システムの errno 値のサブセットです。

errno 値は、Windows オペレーティング システムのシステム コールが返す実際のエラー コードと必ずしも同じとは限りません。 実際のオペレーティング システムのエラー コードにアクセスするには、この値を含む _doserrno 変数を使用します。

サポートされている errno 値を次に示します。

EACCES アクセス許可は拒否されました。 ファイルのアクセス許可設定では、指定したアクセスは許可されません。 ファイルの属性と互換性のない方法でファイル (または場合によってはディレクトリ) にアクセスしようとしました。

たとえば、開いていないファイルから読み取ろうとしたときにエラーが発生する可能性があります。 または、書き込み用に既存の読み取り専用ファイルを開こうとした場合や、ファイルの代わりにディレクトリを開こうとした場合。 MS-DOS オペレーティング システムのバージョン 3.0 以降では、 EACCES がロック違反または共有違反を示す場合があります。

また、ファイルまたはディレクトリを既存のディレクトリと同じ名前に変更しようとした場合や、既存のディレクトリを削除しようとした場合にも、このエラーが発生します。 EAGAIN これ以上プロセスを生成できないか、メモリが不足しているか、最大の入れ子レベルに達しました。 プロセス スロットがなくなったか、メモリが不足しているか、最大入れ子レベルに達したため、新しいプロセスを作成できませんでした。 EBADF ファイル番号が正しくありません。 考えられる原因は 2 つあります。1) 指定されたファイル記述子が有効な値ではないか、開いているファイルを参照していません。 2) 読み取り専用モードで開いているファイル、またはデバイスに書き込もうとしたとき。 EBUSY デバイスまたはリソースがビジー状態です。 ECHILD 子プロセスが存在しません。 EDEADLK リソース デッドロックが発生します。 EDEADLOCK 以前のバージョンの Microsoft C との互換性のために EDEADLK と同じです。 算術演算引数が使用されました。 数学関数の引数が関数のドメインにありません。 EEXIST ファイルが存在します。 既に存在するファイルを作成しようとしています。 たとえば、 _O_CREAT および _O_EXCL フラグが _open の呼び出しで指定されますが、指定した名前のファイルが既に存在しています。 EFAULT アドレスが正しくありません。 EFBIG ファイルが大きすぎます。 EILSEQ 無効なバイト シーケンス (たとえば、 MBCS 文字列) です。 EINTR 関数に割り込みがありました。 EINVAL 引数が無効です。 関数の引数のいずれかに無効な値が指定されています。 たとえば、ファイル ポインターを配置するときに (への呼び出しによって) 配信元に fseek 指定された値は、ファイルの先頭の前にあります。 I/O エラーです。 EISDIR ディレクトリです。 EMFILE 開いているファイルが多すぎます。 使用できるファイル記述子が不足しているため、これ以上ファイルを開くことができません。 EMLINK リンクが多すぎます。 ENAMETOOLONG ファイル名が長すぎます。 ENFILE システムで開いているファイルが多すぎます。 ENODEV 該当するデバイスがありません。 ENOENT 該当するファイルまたはディレクトリがありません。 指定したファイルまたはディレクトリが存在しないか、見つかりません。 このメッセージは、指定したファイルが存在しないか、パスのコンポーネントで既存のディレクトリが指定されていない場合に発生する可能性があります。 ENOEXEC 実行形式エラーです。 実行可能でないファイル、または無効な実行可能ファイル形式のファイルを実行しようとしました。 ENOLCK ロックがありません。 ENOMEM メモリ不足のため、目的の操作を実行できません。 たとえば、このメッセージは、子プロセスを実行するために十分なメモリが不足している場合や、呼び出し内の _getcwd 割り当て要求が満たされない場合に発生する可能性があります。 ENOSPC デバイスに空き領域がありません。 デバイスの書き込み可能領域が不足しています (たとえば、ディスクが満杯の場合です)。 ENOSYS サポートされていない関数です。 ENOTDIR ディレクトリではありません。 ENOTEMPTY ディレクトリは空ではありません。 ENOTTY 不適切な I/O 制御操作です。 ENXIO 該当するデバイスまたはアドレスがありません。 EPERM 操作は許可されていません。 EPIPE パイプが破壊されています。 ERANGE 結果が大きすぎます。 数値演算関数の引数が大きすぎて、結果の有効数字の一部またはすべてが失われます。 このエラーは、引数が予想よりも大きい場合に他の関数でも発生することがあります (たとえば、 _getcwd buffer 引数が予想より長い場合です)。 EROFS 読み取り専用ファイル システムが使用されています。 ESPIPE シークが無効です。 ESRCH 該当するプロセスがありません。 EXDEV デバイス間リンクがあります。 rename 関数を使用して、ファイルを別のデバイスに移動しようとしました。 STRUNCATE 結果として切り詰められる文字列のコピーまたは連結です。 「 _TRUNCATE 」を参照してください。

POSIX との互換性のために、次の値がサポートされています。