in Firestore/core/src/util/status_win.cc [32:89]
static Error CodeForLastError(DWORD error) {
switch (error) {
case ERROR_SUCCESS:
return Error::kErrorOk;
// return Error::kErrorInternal;
case ERROR_INVALID_FUNCTION:
case ERROR_INVALID_HANDLE:
case ERROR_INVALID_NAME:
return Error::kErrorInvalidArgument;
// return Error::kErrorDeadlineExceeded;
case ERROR_FILE_NOT_FOUND:
case ERROR_PATH_NOT_FOUND:
case ERROR_INVALID_DRIVE:
case ERROR_BAD_NETPATH:
case ERROR_DEV_NOT_EXIST:
return Error::kErrorNotFound;
case ERROR_FILE_EXISTS:
case ERROR_ALREADY_EXISTS:
return Error::kErrorAlreadyExists;
case ERROR_ACCESS_DENIED:
case ERROR_INVALID_ACCESS:
case ERROR_SHARING_VIOLATION:
case ERROR_WRITE_PROTECT:
case ERROR_LOCK_VIOLATION:
return Error::kErrorPermissionDenied;
// return Error::kErrorFailedPrecondition;
case ERROR_TOO_MANY_OPEN_FILES:
case ERROR_NOT_ENOUGH_MEMORY:
case ERROR_OUTOFMEMORY:
case ERROR_NO_MORE_FILES:
case ERROR_DISK_FULL:
case ERROR_HANDLE_DISK_FULL:
return Error::kErrorResourceExhausted;
// return Error::kErrorOutOfRange;
case ERROR_CALL_NOT_IMPLEMENTED:
return Error::kErrorUnimplemented;
case ERROR_NOT_READY:
return Error::kErrorUnavailable;
// return Error::kErrorAborted;
// return Error::kErrorCancelled;
default:
return Error::kErrorUnknown;
}
}