_get_doserrno
オペレーティング システムが errno
値に変換される前に返されるエラー値を取得します。
構文
errno_t _get_doserrno(
int * pValue
);
パラメーター
pValue
_doserrno
グローバル マクロの現在の値が格納される整数へのポインター。
戻り値
_get_doserrno
が成功した場合は 0 を返します。失敗した場合はエラー コードを返します。 pValue
が NULL
の場合は、「パラメーターの検証」で説明されているように、無効なパラメーター ハンドラーが呼び出されます。 実行の継続が許可された場合、この関数は errno
を EINVAL
に設定し、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」を参照してください。