_get_doserrno

取得作業系統在轉譯為 errno 值之前所傳回的錯誤值。

語法

errno_t _get_doserrno(
   int * pValue
);

參數

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

傳回值

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

備註

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

我們建議 _get_errno 不要 _get_doserrno 用於可攜式錯誤碼。

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

根據預設,此函式的全域狀態會限定于應用程式。 若要變更此行為,請參閱 CRT 中的全域狀態。

需求

常式 必要的標頭 選擇性標頭
_get_doserrno <stdlib.h,cstdlib ><> (C++) <errno.h,cerrno ><> (C++)

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

另請參閱

_set_doserrno
errno_doserrno_sys_errlist_sys_nerr