[XAM] Implemented Functions
Implemented: - RtlSleep - SleepEx - Sleep - GetTickCount - GetModuleHandleA - XamGetCurrentTitleId
This commit is contained in:
@@ -102,6 +102,7 @@ dword_result_t ExCreateThread_entry(lpdword_t handle_ptr, dword_t stack_size,
|
||||
lpvoid_t start_address,
|
||||
lpvoid_t start_context,
|
||||
dword_t creation_flags) {
|
||||
// Invalid Link
|
||||
// http://jafile.com/uploads/scoop/main.cpp.txt
|
||||
// DWORD
|
||||
// LPHANDLE Handle,
|
||||
@@ -335,14 +336,22 @@ dword_result_t KeQueryPerformanceFrequency_entry() {
|
||||
DECLARE_XBOXKRNL_EXPORT2(KeQueryPerformanceFrequency, kThreading, kImplemented,
|
||||
kHighFrequency);
|
||||
|
||||
dword_result_t KeDelayExecutionThread_entry(dword_t processor_mode,
|
||||
dword_t alertable,
|
||||
lpqword_t interval_ptr) {
|
||||
uint32_t KeDelayExecutionThread(uint32_t processor_mode,
|
||||
uint32_t alertable,
|
||||
uint64_t* interval_ptr) {
|
||||
XThread* thread = XThread::GetCurrentThread();
|
||||
X_STATUS result = thread->Delay(processor_mode, alertable, *interval_ptr);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
dword_result_t KeDelayExecutionThread_entry(dword_t processor_mode,
|
||||
dword_t alertable,
|
||||
lpqword_t interval_ptr) {
|
||||
uint64_t interval = interval_ptr ? static_cast<uint64_t>(*interval_ptr) : 0u;
|
||||
return KeDelayExecutionThread(processor_mode, alertable,
|
||||
interval_ptr ? &interval : nullptr);
|
||||
}
|
||||
DECLARE_XBOXKRNL_EXPORT3(KeDelayExecutionThread, kThreading, kImplemented,
|
||||
kBlocking, kHighFrequency);
|
||||
|
||||
|
||||
@@ -32,6 +32,10 @@ uint32_t xeKeWaitForSingleObject(void* object_ptr, uint32_t wait_reason,
|
||||
uint64_t* timeout_ptr);
|
||||
uint32_t xeKeSetEvent(X_KEVENT* event_ptr, uint32_t increment, uint32_t wait);
|
||||
|
||||
uint32_t KeDelayExecutionThread(uint32_t processor_mode,
|
||||
uint32_t alertable,
|
||||
uint64_t* interval_ptr);
|
||||
|
||||
} // namespace xboxkrnl
|
||||
} // namespace kernel
|
||||
} // namespace xe
|
||||
|
||||
Reference in New Issue
Block a user