diff --git a/src/xenia/kernel/xam/xam_info.cc b/src/xenia/kernel/xam/xam_info.cc index 0f57f7334..5f67cb306 100644 --- a/src/xenia/kernel/xam/xam_info.cc +++ b/src/xenia/kernel/xam/xam_info.cc @@ -456,6 +456,18 @@ DECLARE_XAM_EXPORT1(RtlSetLastNTError, kNone, kImplemented); dword_result_t RtlGetLastError_entry() { return XThread::GetLastError(); } DECLARE_XAM_EXPORT1(RtlGetLastError, kNone, kImplemented); +dword_result_t XGetOverlappedExtendedError_entry( + pointer_t overlapped_ptr) { + if (!overlapped_ptr) { + return XThread::GetLastError(); + } + if (overlapped_ptr->result == X_ERROR_IO_PENDING) { + return X_ERROR_IO_INCOMPLETE; + } + return static_cast(overlapped_ptr->extended_error); +} +DECLARE_XAM_EXPORT1(XGetOverlappedExtendedError, kNone, kImplemented); + dword_result_t GetLastError_entry() { return RtlGetLastError_entry(); } DECLARE_XAM_EXPORT1(GetLastError, kNone, kImplemented);