intwinerror_to_errno(int winerror){// Unwrap FACILITY_WIN32 HRESULT errors.if ((winerror & 0xFFFF0000) == 0x80070000) {winerror &= 0x0000FFFF;}// Winsock error codes (10000-11999) are errno values.if (winerror >= 10000 && winerror < 12000) {switch (winerror) {case WSAEINTR:case WSAEBADF:case WSAEACCES:case WSAEFAULT:case WSAEINVAL:case WSAEMFILE:// Winsock definitions of errno values. See WinSock2.hreturn winerror - 10000;default:return winerror;}}switch (winerror) {case ERROR_FILE_NOT_FOUND: // 2case ERROR_PATH_NOT_FOUND: // 3case ERROR_INVALID_DRIVE: // 15case ERROR_NO_MORE_FILES: // 18case ERROR_BAD_NETPATH: // 53case ERROR_BAD_NET_NAME: // 67case ERROR_BAD_PATHNAME: // 161case ERROR_FILENAME_EXCED_RANGE: // 206return ENOENT;case ERROR_BAD_ENVIRONMENT: // 10return E2BIG;case ERROR_BAD_FORMAT: // 11case ERROR_INVALID_STARTING_CODESEG: // 188case ERROR_INVALID_STACKSEG: // 189case ERROR_INVALID_MODULETYPE: // 190case ERROR_INVALID_EXE_SIGNATURE: // 191case ERROR_EXE_MARKED_INVALID: // 192case ERROR_BAD_EXE_FORMAT: // 193case ERROR_ITERATED_DATA_EXCEEDS_64k: // 194case ERROR_INVALID_MINALLOCSIZE: // 195case ERROR_DYNLINK_FROM_INVALID_RING: // 196case ERROR_IOPL_NOT_ENABLED: // 197case ERROR_INVALID_SEGDPL: // 198case ERROR_AUTODATASEG_EXCEEDS_64k: // 199case ERROR_RING2SEG_MUST_BE_MOVABLE: // 200case ERROR_RELOC_CHAIN_XEEDS_SEGLIM: // 201case ERROR_INFLOOP_IN_RELOC_CHAIN: // 202return ENOEXEC;case ERROR_INVALID_HANDLE: // 6case ERROR_INVALID_TARGET_HANDLE: // 114case ERROR_DIRECT_ACCESS_HANDLE: // 130return EBADF;case ERROR_WAIT_NO_CHILDREN: // 128case ERROR_CHILD_NOT_COMPLETE: // 129return ECHILD;case ERROR_NO_PROC_SLOTS: // 89case ERROR_MAX_THRDS_REACHED: // 164case ERROR_NESTING_NOT_ALLOWED: // 215return EAGAIN;case ERROR_ARENA_TRASHED: // 7case ERROR_NOT_ENOUGH_MEMORY: // 8case ERROR_INVALID_BLOCK: // 9case ERROR_NOT_ENOUGH_QUOTA: // 1816return ENOMEM;case ERROR_ACCESS_DENIED: // 5case ERROR_CURRENT_DIRECTORY: // 16case ERROR_WRITE_PROTECT: // 19case ERROR_BAD_UNIT: // 20case ERROR_NOT_READY: // 21case ERROR_BAD_COMMAND: // 22case ERROR_CRC: // 23case ERROR_BAD_LENGTH: // 24case ERROR_SEEK: // 25case ERROR_NOT_DOS_DISK: // 26case ERROR_SECTOR_NOT_FOUND: // 27case ERROR_OUT_OF_PAPER: // 28case ERROR_WRITE_FAULT: // 29case ERROR_READ_FAULT: // 30case ERROR_GEN_FAILURE: // 31case ERROR_SHARING_VIOLATION: // 32case ERROR_LOCK_VIOLATION: // 33case ERROR_WRONG_DISK: // 34case ERROR_SHARING_BUFFER_EXCEEDED: // 36case ERROR_NETWORK_ACCESS_DENIED: // 65case ERROR_CANNOT_MAKE: // 82case ERROR_FAIL_I24: // 83case ERROR_DRIVE_LOCKED: // 108case ERROR_SEEK_ON_DEVICE: // 132case ERROR_NOT_LOCKED: // 158case ERROR_LOCK_FAILED: // 167case 35: // 35 (undefined)return EACCES;case ERROR_FILE_EXISTS: // 80case ERROR_ALREADY_EXISTS: // 183return EEXIST;case ERROR_NOT_SAME_DEVICE: // 17return EXDEV;case ERROR_DIRECTORY: // 267 (bpo-12802)return ENOTDIR;case ERROR_TOO_MANY_OPEN_FILES: // 4return EMFILE;case ERROR_DISK_FULL: // 112return ENOSPC;case ERROR_BROKEN_PIPE: // 109case ERROR_NO_DATA: // 232 (bpo-13063)return EPIPE;case ERROR_DIR_NOT_EMPTY: // 145return ENOTEMPTY;case ERROR_NO_UNICODE_TRANSLATION: // 1113return EILSEQ;case ERROR_INVALID_FUNCTION: // 1case ERROR_INVALID_ACCESS: // 12case ERROR_INVALID_DATA: // 13case ERROR_INVALID_PARAMETER: // 87case ERROR_NEGATIVE_SEEK: // 131default:return EINVAL;}}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。