次の方法で共有


_get_doserrno

errno 値に変換される前に、オペレーティング システムから返されたエラー値を取得します。

errno_t _get_doserrno(     int * pValue  ); 

パラメーター

  • [出力] pValue
    _doserrno グローバル マクロの現在の値が格納される整数へのポインター。

戻り値

_get_doserrno が成功した場合は 0 を返します。失敗した場合はエラー コードを返します。 pValue が NULL の場合は、「パラメーターの検証」に説明されているように、無効なパラメーター ハンドラーが呼び出されます。 実行の継続が許可された場合、この関数は errno を EINVAL に設定し、EINVAL を返します。

解説

_doserrno グローバル マクロは、プロセス実行が開始される前に、CRT の初期化中に 0 に設定されます。 オペレーティング システム エラーを返すシステム レベルの関数呼び出しによって返されたオペレーティング システム エラー値に設定され、実行中に 0 にリセットされることはありません。 関数によって返されたエラー値をチェックするコードを記述する場合は、関数呼び出しの前に _set_doserrno を使用して常に _doserrno をクリアしてください。 別の関数呼び出しによって _doserrno が上書きされる可能性があるため、関数呼び出しの直後に _get_doserrno を使用して値をチェックします。

移植可能なエラー コードにするには、_get_doserrno ではなく _get_errno をお勧めします。

_doserrno に使用できる値は <errno.h> で定義します。

必要条件

ルーチン

必須ヘッダー

オプション ヘッダー

_get_doserrno

<stdlib.h>、<cstdlib> (C++)

<errno.h>、<cerrno> (C++)

_get_doserrno は Microsoft 拡張機能です。 互換性の詳細については、「互換性」を参照してください。

参照

関連項目

_set_doserrno

errno、_doserrno、_sys_errlist、および _sys_nerr