_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 拡張機能です。 互換性の詳細については、「互換性」を参照してください。