_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_errno
不要 _get_doserrno
用於可攜式錯誤碼。
的可能值 _doserrno
定義在 <errno.h> 中。
根據預設,此函式的全域狀態會限定於應用程式。 若要變更此行為,請參閱 CRT 中的全域狀態。
需求
常式 | 必要的標頭 | 選擇性標頭 |
---|---|---|
_get_doserrno |
<stdlib.h,cstdlib><> (C++) | <errno.h,cerrno><> (C++) |
_get_doserrno
是 Microsoft 擴充功能。 如需相容性詳細資訊,請參閱相容性。