Forwarded NtPulseEvent to NtDll

Deduplicated declarations.
This commit is contained in:
PatrickvL 2016-12-20 14:08:46 +01:00
parent 3b47ce363b
commit b096ca5b08
4 changed files with 22 additions and 39 deletions

View File

@ -483,27 +483,6 @@ XBSYSAPI EXPORTNUM(143) xboxkrnl::LONG NTAPI xboxkrnl::KeSetBasePriorityThread
RETURN(ret);
}
// ******************************************************************
// * 0x0091 - KeSetEvent()
// ******************************************************************
XBSYSAPI EXPORTNUM(145) xboxkrnl::LONG NTAPI xboxkrnl::KeSetEvent
(
IN PRKEVENT Event,
IN LONG Increment,
IN BOOLEAN Wait
)
{
LOG_FUNC_BEGIN
LOG_FUNC_ARG(Event)
LOG_FUNC_ARG(Increment)
LOG_FUNC_ARG(Wait)
LOG_FUNC_END;
LOG_UNIMPLEMENTED();
RETURN(1);
}
// ******************************************************************
// * 0x0091 - KeSetEvent()
// ******************************************************************

View File

@ -707,8 +707,8 @@ XBSYSAPI EXPORTNUM(204) xboxkrnl::NTSTATUS NTAPI xboxkrnl::NtProtectVirtualMemor
// ******************************************************************
XBSYSAPI EXPORTNUM(205) xboxkrnl::NTSTATUS NTAPI xboxkrnl::NtPulseEvent
(
IN HANDLE EventHandle,
OUT PLONG PreviousState OPTIONAL
IN HANDLE EventHandle,
OUT PLONG PreviousState OPTIONAL
)
{
LOG_FUNC_BEGIN
@ -716,9 +716,16 @@ XBSYSAPI EXPORTNUM(205) xboxkrnl::NTSTATUS NTAPI xboxkrnl::NtPulseEvent
LOG_FUNC_ARG_OUT(PreviousState)
LOG_FUNC_END;
LOG_UNIMPLEMENTED();
// redirect to Windows NT
// TODO : Untested
NTSTATUS ret = NtDll::NtPulseEvent(
EventHandle,
/*OUT*/PreviousState);
RETURN(STATUS_SUCCESS);
if (FAILED(ret))
EmuWarning("NtPulseEvent failed!");
RETURN(ret);
}
// ******************************************************************

View File

@ -79,6 +79,7 @@ IMPORT(NtFlushBuffersFile);
IMPORT(NtFreeVirtualMemory);
IMPORT(NtFsControlFile);
IMPORT(NtOpenSymbolicLinkObject);
IMPORT(NtPulseEvent);
IMPORT(NtQueryDirectoryFile);
IMPORT(NtQueryFullAttributesFile);
IMPORT(NtQueryInformationFile);
@ -92,7 +93,6 @@ IMPORT(NtReleaseSemaphore);
IMPORT(NtResumeThread);
IMPORT(NtSetEvent);
IMPORT(NtSetInformationFile);
IMPORT(NtSetTimer);
IMPORT(NtSetLdtEntries);
IMPORT(NtSetTimer);
IMPORT(NtSuspendThread);

View File

@ -987,6 +987,15 @@ typedef NTSTATUS (NTAPI *FPTR_NtCreateEvent)
IN BOOLEAN InitialState
);
// ******************************************************************
// * NtPulseEvent
// ******************************************************************
typedef NTSTATUS(NTAPI *FPTR_NtPulseEvent)
(
IN HANDLE EventHandle,
OUT PLONG PreviousState OPTIONAL
);
// ******************************************************************
// * NtCreateMutant
// ******************************************************************
@ -1345,11 +1354,6 @@ typedef NTSTATUS(NTAPI *FPTR_NtFsControlFile)
IN ULONG OutputBufferLength
);
typedef enum _TIMER_TYPE {
NotificationTimer,
SynchronizationTimer
} TIMER_TYPE;
// ******************************************************************
// * NtCreateTimer
// ******************************************************************
@ -1361,14 +1365,6 @@ typedef NTSTATUS(NTAPI *FPTR_NtCreateTimer)
IN TIMER_TYPE TimerType
);
typedef
VOID
(*PTIMER_APC_ROUTINE) (
IN PVOID TimerContext,
IN ULONG TimerLowValue,
IN LONG TimerHighValue
);
// ******************************************************************
// * NtSetTimer
// ******************************************************************
@ -1425,6 +1421,7 @@ EXTERN(NtFlushBuffersFile);
EXTERN(NtFreeVirtualMemory);
EXTERN(NtFsControlFile);
EXTERN(NtOpenSymbolicLinkObject);
EXTERN(NtPulseEvent);
EXTERN(NtQueryDirectoryFile);
EXTERN(NtQueryFullAttributesFile);
EXTERN(NtQueryInformationFile);