次の方法で共有


_get_doserrno

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

構文

errno_t _get_doserrno(
   int * pValue
);

パラメーター

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

戻り値

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

解説

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

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

_doserrnoの使用可能な値は、<errno.h> で定義されます。

既定では、この関数のグローバル状態の適用対象は、アプリケーションになります。 この動作を変更するには、「CRT でのグローバル状態」を参照してください。

要件

ルーチンによって返される値 必須ヘッダー オプション ヘッダー
_get_doserrno <stdlib.h>、<cstdlib> (C++) <errno.h>、<cerrno> (C++)

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

関連項目

_set_doserrno
errno_doserrno_sys_errlist、および _sys_nerr