共用方式為


_get_doserrno

在作業系統傳回的錯誤值轉譯為 errno 值之前,傳回該錯誤值。

errno_t _get_doserrno(     int * pValue  ); 

參數

  • [out] pValue
    要填入 _doserrno 全域巨集之目前值的整數的指標。

傳回值

_get_doserrno 成功,會傳回 0;若失敗,則傳回錯誤碼。 若 pValue 為 NULL,則會叫用無效參數處理常式,如 參數驗證 中所述。 若允許繼續執行,此函式會將 errno 設為 EINVAL,並傳回 EINVAL。

備註

_doserrno 全域巨集會先在 CRT 初始化期間設為 0,再開始執行處理序。 此巨集是設定為由會傳回作業系統錯誤的任何系統層級函式呼叫所傳回的作業系統錯誤值,且在執行期間永不重設為 0。 當您撰寫程式碼以檢查函式傳回的錯誤值時,請在函式呼叫之前,先一律使用 _set_doserrno 清除 _doserrno。 因為其他函式呼叫可能會覆寫 _doserrno,因此請在函式呼叫之後立即使用 _get_doserrno 檢查值。

建議針對可攜式錯誤程式碼使用 _get_errno,而不是 _get_doserrno

_doserrno 的可能值會定義在 <errno.h> 中。

需求

常式

必要的標頭

選擇性標頭

_get_doserrno

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

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

_get_doserrno 是 Microsoft 擴充功能。 如需詳細的相容性資訊,請參閱相容性

請參閱

參考

_set_doserrno

errno、_doserrno、_sys_errlist 和 _sys_nerr