2012-09-10 18 views

Trả lời

5

Tóm lại, không.

Tính đến http://msdn.microsoft.com/en-us/library/5814770t%28v=vs.100%29.aspx

Các giá trị errno là hằng số được gán cho errno trong trường hợp điều kiện lỗi khác nhau.

ERRNO.H chứa các định nghĩa về giá trị errno. Tuy nhiên, không phải tất cả các định nghĩa được đưa ra trong ERRNO.H được sử dụng trong các hệ điều hành Windows 322 32 bit. Một số giá trị trong ERRNO.H có mặt để duy trì khả năng tương thích với họ hệ điều hành UNIX.

Giá trị errno trong hệ điều hành Windows 32 bit là một tập con của giá trị cho errno trong hệ thống XENIX. Do đó, giá trị errno không phải là nhất thiết phải giống như mã lỗi thực tế được trả về bởi hệ thống cuộc gọi từ hệ điều hành Windows. Để truy cập vào mã lỗi hệ điều hành thực tế, hãy sử dụng biến _doserrno, trong đó chứa giá trị này.

Tất nhiên bạn có thể viết chức năng của riêng bạn bằng các mã chuyển đổi sẽ "dịch" mã lỗi.

Bạn có thể thấy rằng có khoảng 80 giá trị errno được xác định trên cửa sổ.

+0

Vì vậy, ít nhất đối với các giá trị Windows sẽ phát ra, bạn có thể lấy mã lỗi hệ thống bằng cách chỉ kiểm tra '_doserrno' và bạn có thể nhận được HRESULT bằng' HRESULT_FROM_WIN32 (_doserrno) '? Xuất sắc. – CBHacking