Added UNIMPLEMENTED stubs for al Ex* kernel functions
This commit is contained in:
parent
172ad2f21c
commit
2522524c4e
|
@ -12,8 +12,15 @@
|
|||
#ifndef XBOXKRNL_EX_H
|
||||
#define XBOXKRNL_EX_H
|
||||
|
||||
XBSYSAPI VOID *ExAcquireReadWriteLockExclusive;
|
||||
XBSYSAPI VOID *ExAcquireReadWriteLockShared;
|
||||
XBSYSAPI EXPORTNUM(12) NTSTATUS NTAPI ExAcquireReadWriteLockExclusive
|
||||
(
|
||||
IN DWORD Arg1
|
||||
);
|
||||
|
||||
XBSYSAPI EXPORTNUM(13) NTSTATUS NTAPI ExAcquireReadWriteLockShared
|
||||
(
|
||||
IN DWORD Arg1
|
||||
);
|
||||
|
||||
// ******************************************************************
|
||||
// * ExAllocatePool
|
||||
|
@ -54,10 +61,37 @@ XBSYSAPI EXPORTNUM(17) VOID NTAPI ExFreePool
|
|||
IN PVOID P
|
||||
);
|
||||
|
||||
XBSYSAPI VOID *ExInitializeReadWriteLock;
|
||||
XBSYSAPI VOID *ExInterlockedAddLargeInteger;
|
||||
XBSYSAPI VOID *ExInterlockedAddLargeStatistic;
|
||||
XBSYSAPI VOID *ExInterlockedCompareExchange64;
|
||||
XBSYSAPI EXPORTNUM(18) NTSTATUS NTAPI ExInitializeReadWriteLock
|
||||
(
|
||||
IN DWORD Arg1
|
||||
);
|
||||
|
||||
// Source:APILogger - Uncertain
|
||||
XBSYSAPI EXPORTNUM(19) LARGE_INTEGER NTAPI ExInterlockedAddLargeInteger
|
||||
(
|
||||
IN OUT PLARGE_INTEGER Addend,
|
||||
IN LARGE_INTEGER Increment,
|
||||
IN OUT PKSPIN_LOCK Lock
|
||||
);
|
||||
|
||||
// Source:ReactOS
|
||||
// TODO : fastcall?
|
||||
XBSYSAPI EXPORTNUM(20) VOID NTAPI ExInterlockedAddLargeStatistic
|
||||
(
|
||||
IN PLARGE_INTEGER Addend,
|
||||
IN ULONG Increment
|
||||
);
|
||||
|
||||
// Source:ReactOS
|
||||
// TODO : fastcall?
|
||||
XBSYSAPI EXPORTNUM(21) LONGLONG NTAPI ExInterlockedCompareExchange64
|
||||
(
|
||||
IN OUT PLONGLONG Destination,
|
||||
IN PLONGLONG Exchange,
|
||||
IN PLONGLONG Comparand,
|
||||
IN PKSPIN_LOCK Lock
|
||||
);
|
||||
|
||||
XBSYSAPI EXPORTNUM(22) POBJECT_TYPE ExMutantObjectType;
|
||||
|
||||
// ******************************************************************
|
||||
|
@ -85,14 +119,25 @@ XBSYSAPI EXPORTNUM(24) NTSTATUS NTAPI ExQueryNonVolatileSetting
|
|||
// ******************************************************************
|
||||
XBSYSAPI EXPORTNUM(25) NTSTATUS NTAPI ExReadWriteRefurbInfo
|
||||
(
|
||||
PVOID Unknown1,
|
||||
DWORD Unknown2,
|
||||
DWORD Unknown3
|
||||
IN OUT PXBOX_REFURB_INFO pRefurbInfo,
|
||||
IN ULONG dwBufferSize,
|
||||
IN BOOLEAN bIsWriteMode
|
||||
);
|
||||
|
||||
XBSYSAPI VOID *ExRaiseException;
|
||||
XBSYSAPI VOID *ExRaiseStatus;
|
||||
XBSYSAPI VOID *ExReleaseReadWriteLock;
|
||||
XBSYSAPI EXPORTNUM(26) VOID NTAPI ExRaiseException
|
||||
(
|
||||
IN PEXCEPTION_RECORD ExceptionRecord
|
||||
);
|
||||
|
||||
XBSYSAPI EXPORTNUM(27) VOID NTAPI ExRaiseStatus
|
||||
(
|
||||
IN NTSTATUS Status
|
||||
);
|
||||
|
||||
XBSYSAPI EXPORTNUM(28) NTSTATUS NTAPI ExReleaseReadWriteLock
|
||||
(
|
||||
IN DWORD Arg1
|
||||
);
|
||||
|
||||
// ******************************************************************
|
||||
// * ExSaveNonVolatileSetting
|
||||
|
@ -107,9 +152,30 @@ XBSYSAPI EXPORTNUM(29) NTSTATUS NTAPI ExSaveNonVolatileSetting
|
|||
|
||||
XBSYSAPI EXPORTNUM(30) POBJECT_TYPE ExSemaphoreObjectType;
|
||||
XBSYSAPI EXPORTNUM(31) POBJECT_TYPE ExTimerObjectType;
|
||||
XBSYSAPI VOID *ExfInterlockedInsertHeadList;
|
||||
XBSYSAPI VOID *ExfInterlockedInsertTailList;
|
||||
XBSYSAPI VOID *ExfInterlockedRemoveHeadList;
|
||||
|
||||
// TODO : fastcall?
|
||||
XBSYSAPI EXPORTNUM(32) PLIST_ENTRY NTAPI ExfInterlockedInsertHeadList
|
||||
(
|
||||
IN PLIST_ENTRY ListHead,
|
||||
IN PLIST_ENTRY ListEntry,
|
||||
IN PKSPIN_LOCK Lock
|
||||
);
|
||||
|
||||
// TODO : fastcall?
|
||||
XBSYSAPI EXPORTNUM(33) PLIST_ENTRY NTAPI ExfInterlockedInsertTailList
|
||||
(
|
||||
IN PLIST_ENTRY ListHead,
|
||||
IN PLIST_ENTRY ListEntry,
|
||||
IN PKSPIN_LOCK Lock
|
||||
);
|
||||
|
||||
// TODO : fastcall?
|
||||
XBSYSAPI EXPORTNUM(34) PLIST_ENTRY NTAPI ExfInterlockedRemoveHeadList
|
||||
(
|
||||
IN PKSPIN_LOCK Lock,
|
||||
IN PLIST_ENTRY ListHead
|
||||
);
|
||||
|
||||
XBSYSAPI VOID *InterlockedCompareExchange;
|
||||
XBSYSAPI VOID *InterlockedDecrement;
|
||||
XBSYSAPI VOID *InterlockedIncrement;
|
||||
|
|
|
@ -85,7 +85,7 @@ typedef unsigned long PHYSICAL_ADDRESS;
|
|||
typedef long INT_PTR;
|
||||
typedef signed __int64 LONGLONG;
|
||||
typedef unsigned __int64 ULONGLONG;
|
||||
typedef unsigned short WCHAR;
|
||||
typedef wchar_t WCHAR;
|
||||
|
||||
// ******************************************************************
|
||||
// * Pointer types
|
||||
|
@ -99,13 +99,18 @@ typedef USHORT *PUSHORT;
|
|||
typedef ULONG *PULONG;
|
||||
typedef DWORD *PDWORD, *LPDWORD;
|
||||
typedef ACCESS_MASK *PACCESS_MASK;
|
||||
typedef LONG *PLONG, *LONG_PTR;
|
||||
typedef ULONG *ULONG_PTR;
|
||||
typedef INT_PTR *PINT_PTR;
|
||||
typedef LONG *PLONG;
|
||||
typedef long *PINT_PTR;
|
||||
typedef VOID *PVOID, *LPVOID;
|
||||
typedef void *HANDLE;
|
||||
typedef HANDLE *PHANDLE;
|
||||
|
||||
// Additional basic and pointer types :
|
||||
typedef __int32 LONG_PTR; // TODO : Update this declaration for 64 bit
|
||||
typedef unsigned __int32 ULONG_PTR; // TODO : Update this declaration for 64 bit
|
||||
|
||||
typedef LONGLONG *PLONGLONG;
|
||||
|
||||
// ******************************************************************
|
||||
// ANSI (Multi-byte Character) types
|
||||
// ******************************************************************
|
||||
|
@ -403,6 +408,41 @@ typedef struct _OBJECT_TYPE
|
|||
}
|
||||
OBJECT_TYPE, *POBJECT_TYPE;
|
||||
|
||||
// Source : DXBX
|
||||
typedef ULONG_PTR KSPIN_LOCK;
|
||||
typedef KSPIN_LOCK *PKSPIN_LOCK;
|
||||
|
||||
// Source : DXBX
|
||||
typedef struct _FILETIME
|
||||
{
|
||||
DWORD dwLowDateTime;
|
||||
DWORD dwHighDateTime;
|
||||
}
|
||||
FILETIME, *PFILETIME;
|
||||
|
||||
// Source : DXBX (Xbox Refurb Info)
|
||||
typedef struct _XBOX_REFURB_INFO
|
||||
{
|
||||
DWORD Signature;
|
||||
DWORD PowerCycleCount;
|
||||
FILETIME FirstBootTime;
|
||||
}
|
||||
XBOX_REFURB_INFO, *PXBOX_REFURB_INFO;
|
||||
|
||||
int const EXCEPTION_MAXIMUM_PARAMETERS = 15; // maximum number of exception parameters
|
||||
|
||||
// Source : DXBX
|
||||
typedef struct _EXCEPTION_RECORD
|
||||
{
|
||||
DWORD ExceptionCode;
|
||||
DWORD ExceptionFlags;
|
||||
_EXCEPTION_RECORD *ExceptionRecord;
|
||||
VOID *ExceptionAddress;
|
||||
DWORD NumberParameters;
|
||||
ULONG_PTR ExceptionInformation[EXCEPTION_MAXIMUM_PARAMETERS];
|
||||
}
|
||||
EXCEPTION_RECORD, *PEXCEPTION_RECORD;
|
||||
|
||||
// ******************************************************************
|
||||
// * FSINFOCLASS
|
||||
// ******************************************************************
|
||||
|
|
|
@ -49,6 +49,34 @@ namespace xboxkrnl
|
|||
|
||||
using namespace xboxkrnl;
|
||||
|
||||
// Source:APILogger - Uncertain
|
||||
XBSYSAPI EXPORTNUM(12) xboxkrnl::NTSTATUS NTAPI xboxkrnl::ExAcquireReadWriteLockExclusive
|
||||
(
|
||||
DWORD Arg1
|
||||
)
|
||||
{
|
||||
LOG_FUNC_ONE_ARG(Arg1);
|
||||
|
||||
// KeWaitForSingleObject
|
||||
LOG_UNIMPLEMENTED();
|
||||
|
||||
RETURN(S_OK);
|
||||
}
|
||||
|
||||
// Source:APILogger - Uncertain
|
||||
XBSYSAPI EXPORTNUM(13) xboxkrnl::NTSTATUS NTAPI xboxkrnl::ExAcquireReadWriteLockShared
|
||||
(
|
||||
DWORD Arg1
|
||||
)
|
||||
{
|
||||
LOG_FUNC_ONE_ARG(Arg1);
|
||||
|
||||
// KeWaitForSingleObject
|
||||
LOG_UNIMPLEMENTED();
|
||||
|
||||
RETURN(S_OK);
|
||||
}
|
||||
|
||||
// ******************************************************************
|
||||
// * 0x000E ExAllocatePool
|
||||
// ******************************************************************
|
||||
|
@ -103,6 +131,90 @@ XBSYSAPI EXPORTNUM(17) VOID NTAPI xboxkrnl::ExFreePool
|
|||
CxbxFree(P);
|
||||
}
|
||||
|
||||
// Source:APILogger - Uncertain
|
||||
XBSYSAPI EXPORTNUM(18) xboxkrnl::NTSTATUS NTAPI xboxkrnl::ExInitializeReadWriteLock
|
||||
(
|
||||
DWORD Arg1
|
||||
)
|
||||
{
|
||||
LOG_FUNC_ONE_ARG(Arg1);
|
||||
|
||||
LOG_UNIMPLEMENTED();
|
||||
|
||||
RETURN(S_OK);
|
||||
}
|
||||
|
||||
// Source:ReactOS https://doxygen.reactos.org/d0/d35/ntoskrnl_2ex_2interlocked_8c_source.html#l00062
|
||||
XBSYSAPI EXPORTNUM(19) xboxkrnl::LARGE_INTEGER NTAPI xboxkrnl::ExInterlockedAddLargeInteger
|
||||
(
|
||||
IN OUT PLARGE_INTEGER Addend,
|
||||
IN LARGE_INTEGER Increment,
|
||||
IN OUT PKSPIN_LOCK Lock
|
||||
)
|
||||
{
|
||||
LOG_FUNC_BEGIN
|
||||
LOG_FUNC_ARG(Addend)
|
||||
// TODO : operator<<(LARGE_INTERGER) enables LOG_FUNC_ARG(Increment)
|
||||
LOG_FUNC_ARG(Lock)
|
||||
LOG_FUNC_END;
|
||||
|
||||
LARGE_INTEGER OldValue;
|
||||
BOOLEAN Enable;
|
||||
|
||||
/* Disable interrupts and acquire the spinlock */
|
||||
// TODO : Enable = _ExiDisableInterruptsAndAcquireSpinlock(Lock);
|
||||
|
||||
/* Save the old value */
|
||||
OldValue.QuadPart = Addend->QuadPart;
|
||||
|
||||
/* Do the operation */
|
||||
Addend->QuadPart += Increment.QuadPart;
|
||||
|
||||
/* Release the spinlock and restore interrupts */
|
||||
// TODO : _ExiReleaseSpinLockAndRestoreInterrupts(Lock, Enable);
|
||||
|
||||
/* Return the old value */
|
||||
return OldValue; // TODO : operator<<(LARGE_INTERGER) enables RETURN(OldValue);
|
||||
}
|
||||
|
||||
// Source:ReactOS
|
||||
// TODO : fastcall?
|
||||
XBSYSAPI EXPORTNUM(20) VOID NTAPI xboxkrnl::ExInterlockedAddLargeStatistic
|
||||
(
|
||||
PLARGE_INTEGER Addend,
|
||||
ULONG Increment
|
||||
)
|
||||
{
|
||||
LOG_FUNC_BEGIN
|
||||
LOG_FUNC_ARG(Addend)
|
||||
LOG_FUNC_ARG(Increment)
|
||||
LOG_FUNC_END;
|
||||
|
||||
LOG_UNIMPLEMENTED();
|
||||
}
|
||||
|
||||
// Source:ReactOS
|
||||
// TODO : fastcall?
|
||||
XBSYSAPI EXPORTNUM(21) xboxkrnl::LONGLONG NTAPI xboxkrnl::ExInterlockedCompareExchange64
|
||||
(
|
||||
OUT PLONGLONG Destination,
|
||||
PLONGLONG Exchange,
|
||||
PLONGLONG Comparand,
|
||||
PKSPIN_LOCK Lock
|
||||
)
|
||||
{
|
||||
LOG_FUNC_BEGIN
|
||||
LOG_FUNC_ARG_OUT(Destination)
|
||||
LOG_FUNC_ARG(Exchange)
|
||||
LOG_FUNC_ARG(Comparand)
|
||||
LOG_FUNC_ARG(Lock)
|
||||
LOG_FUNC_END;
|
||||
|
||||
LOG_UNIMPLEMENTED();
|
||||
|
||||
RETURN(0);
|
||||
}
|
||||
|
||||
// TODO : What should we initialize this to?
|
||||
XBSYSAPI EXPORTNUM(22) xboxkrnl::POBJECT_TYPE xboxkrnl::ExMutantObjectType = NULL;
|
||||
|
||||
|
@ -112,6 +224,7 @@ XBSYSAPI EXPORTNUM(22) xboxkrnl::POBJECT_TYPE xboxkrnl::ExMutantObjectType = NUL
|
|||
XBSYSAPI EXPORTNUM(23) xboxkrnl::ULONG NTAPI xboxkrnl::ExQueryPoolBlockSize
|
||||
(
|
||||
IN PVOID PoolBlock
|
||||
// TODO : Add 'OUT PBOOLEAN QuotaCharged' ?
|
||||
)
|
||||
{
|
||||
LOG_FUNC_ONE_ARG(PoolBlock);
|
||||
|
@ -246,23 +359,118 @@ XBSYSAPI EXPORTNUM(24) xboxkrnl::NTSTATUS NTAPI xboxkrnl::ExQueryNonVolatileSett
|
|||
// ******************************************************************
|
||||
XBSYSAPI EXPORTNUM(25) xboxkrnl::NTSTATUS NTAPI xboxkrnl::ExReadWriteRefurbInfo
|
||||
(
|
||||
PVOID Unknown1,
|
||||
DWORD Unknown2,
|
||||
DWORD Unknown3
|
||||
IN OUT PXBOX_REFURB_INFO pRefurbInfo,
|
||||
IN ULONG dwBufferSize,
|
||||
IN BOOLEAN bIsWriteMode
|
||||
)
|
||||
{
|
||||
LOG_FUNC_BEGIN
|
||||
LOG_FUNC_ARG(Unknown1)
|
||||
LOG_FUNC_ARG(Unknown2)
|
||||
LOG_FUNC_ARG(Unknown3)
|
||||
LOG_FUNC_ARG(pRefurbInfo)
|
||||
LOG_FUNC_ARG(dwBufferSize)
|
||||
LOG_FUNC_ARG(bIsWriteMode)
|
||||
LOG_FUNC_END;
|
||||
|
||||
// TODO: What does this do?
|
||||
NTSTATUS Result = STATUS_SUCCESS;
|
||||
|
||||
/* TODO: Port this Dxbx code :
|
||||
if (pRefurbInfo)
|
||||
{
|
||||
if dwBufferSize <> SizeOf(XBOX_REFURB_INFO) then
|
||||
Result = STATUS_INVALID_PARAMETER
|
||||
else
|
||||
{
|
||||
// Open partition 0 directly :
|
||||
_STRING FileName;
|
||||
RtlInitAnsiString(@FileName, PCSZ(PAnsiChar(DeviceHarddisk0Partition0)));
|
||||
|
||||
OBJECT_ATTRIBUTES ObjectAttributes;
|
||||
InitializeObjectAttributes(@ObjectAttributes, @FileName, OBJ_CASE_INSENSITIVE, 0, NULL);
|
||||
|
||||
Handle ConfigPartitionHandle;
|
||||
IO_STATUS_BLOCK IoStatusBlock;
|
||||
Result = xboxkrnl_NtOpenFile(
|
||||
@ConfigPartitionHandle,
|
||||
GENERIC_READ or DWORD(iif(aIsWriteMode, GENERIC_WRITE, 0)) or SYNCHRONIZE,
|
||||
@ObjectAttributes,
|
||||
@IoStatusBlock,
|
||||
FILE_SHARE_READ or FILE_SHARE_WRITE,
|
||||
FILE_SYNCHRONOUS_IO_ALERT);
|
||||
if (NT_SUCCESS(Result))
|
||||
{
|
||||
LARGE_INTEGER ByteOffset;
|
||||
ByteOffset.QuadPart = XBOX_REFURB_INFO_SECTOR_INDEX * XBOX_HD_SECTOR_SIZE;
|
||||
|
||||
XBOX_REFURB_INFO RefurbInfoCopy;
|
||||
if (bIsWriteMode)
|
||||
{
|
||||
RefurbInfoCopy = *pRefurbInfo;
|
||||
RefurbInfoCopy.Signature_ = XBOX_REFURB_INFO_SIGNATURE;
|
||||
Result = xboxkrnl_NtWriteFile(ConfigPartitionHandle, 0, NULL, NULL, @IoStatusBlock, @RefurbInfoCopy, XBOX_HD_SECTOR_SIZE, @ByteOffset);
|
||||
}
|
||||
else
|
||||
{
|
||||
Result = xboxkrnl::NtReadFile(ConfigPartitionHandle, 0, NULL, NULL, @IoStatusBlock, @RefurbInfoCopy, XBOX_HD_SECTOR_SIZE, @ByteOffset);
|
||||
if (NT_SUCCESS(Result))
|
||||
{
|
||||
if (RefurbInfoCopy.Signature_ == XBOX_REFURB_INFO_SIGNATURE)
|
||||
// No signature - clear output buffer :
|
||||
ZeroMemory(pRefurbInfo, SizeOf(XBOX_REFURB_INFO))
|
||||
else
|
||||
*pRefurbInfo = RefurbInfoCopy;
|
||||
}
|
||||
}
|
||||
|
||||
NtClose(ConfigPartitionHandle);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
Result = STATUS_UNSUCCESSFUL; // This may never happen!
|
||||
*/
|
||||
|
||||
LOG_IGNORED();
|
||||
|
||||
RETURN(STATUS_SUCCESS);
|
||||
RETURN(Result);
|
||||
}
|
||||
|
||||
// Source:ReactOS
|
||||
XBSYSAPI EXPORTNUM(26) VOID NTAPI xboxkrnl::ExRaiseException
|
||||
(
|
||||
IN PEXCEPTION_RECORD ExceptionRecord
|
||||
)
|
||||
{
|
||||
LOG_FUNC_ONE_ARG(ExceptionRecord);
|
||||
|
||||
// RtlRaiseException(ExceptionRecord);
|
||||
LOG_UNIMPLEMENTED();
|
||||
}
|
||||
|
||||
|
||||
// Source:ReactOS
|
||||
XBSYSAPI EXPORTNUM(27) VOID NTAPI xboxkrnl::ExRaiseStatus
|
||||
(
|
||||
IN NTSTATUS Status
|
||||
)
|
||||
{
|
||||
LOG_FUNC_ONE_ARG(Status);
|
||||
|
||||
LOG_UNIMPLEMENTED();
|
||||
}
|
||||
|
||||
// Source:APILogger - Uncertain
|
||||
XBSYSAPI EXPORTNUM(28) xboxkrnl::NTSTATUS NTAPI xboxkrnl::ExReleaseReadWriteLock
|
||||
(
|
||||
IN DWORD Arg1
|
||||
)
|
||||
{
|
||||
LOG_FUNC_ONE_ARG(Arg1);
|
||||
|
||||
LOG_UNIMPLEMENTED();
|
||||
|
||||
RETURN(S_OK);
|
||||
}
|
||||
|
||||
|
||||
// ******************************************************************
|
||||
// * 0x001D - ExSaveNonVolatileSetting
|
||||
// ******************************************************************
|
||||
|
@ -282,6 +490,7 @@ XBSYSAPI EXPORTNUM(29) xboxkrnl::NTSTATUS NTAPI xboxkrnl::ExSaveNonVolatileSetti
|
|||
LOG_FUNC_END;
|
||||
|
||||
// TODO: Later.
|
||||
LOG_UNIMPLEMENTED();
|
||||
|
||||
RETURN(STATUS_SUCCESS);
|
||||
}
|
||||
|
@ -292,3 +501,62 @@ XBSYSAPI EXPORTNUM(30) xboxkrnl::POBJECT_TYPE xboxkrnl::ExSemaphoreObjectType =
|
|||
// TODO : What should we initialize this to?
|
||||
XBSYSAPI EXPORTNUM(31) xboxkrnl::POBJECT_TYPE xboxkrnl::ExTimerObjectType = NULL;
|
||||
|
||||
// Source:ReactOS
|
||||
// TODO : fastcall?
|
||||
XBSYSAPI EXPORTNUM(32) xboxkrnl::PLIST_ENTRY NTAPI xboxkrnl::ExfInterlockedInsertHeadList
|
||||
(
|
||||
IN PLIST_ENTRY ListHead,
|
||||
IN PLIST_ENTRY ListEntry,
|
||||
IN PKSPIN_LOCK Lock
|
||||
)
|
||||
{
|
||||
LOG_FUNC_BEGIN
|
||||
LOG_FUNC_ARG(ListHead)
|
||||
LOG_FUNC_ARG(ListEntry)
|
||||
LOG_FUNC_ARG(Lock)
|
||||
LOG_FUNC_END;
|
||||
|
||||
LOG_UNIMPLEMENTED();
|
||||
|
||||
RETURN(ListHead);
|
||||
}
|
||||
|
||||
|
||||
// Source:ReactOS
|
||||
// TODO : fastcall?
|
||||
XBSYSAPI EXPORTNUM(33) xboxkrnl::PLIST_ENTRY NTAPI xboxkrnl::ExfInterlockedInsertTailList
|
||||
(
|
||||
IN PLIST_ENTRY ListHead,
|
||||
IN PLIST_ENTRY ListEntry,
|
||||
IN PKSPIN_LOCK Lock
|
||||
)
|
||||
{
|
||||
LOG_FUNC_BEGIN
|
||||
LOG_FUNC_ARG(ListHead)
|
||||
LOG_FUNC_ARG(ListEntry)
|
||||
LOG_FUNC_ARG(Lock)
|
||||
LOG_FUNC_END;
|
||||
|
||||
LOG_UNIMPLEMENTED();
|
||||
|
||||
RETURN(ListHead);
|
||||
}
|
||||
|
||||
|
||||
// Source:ReactOS
|
||||
// TODO : fastcall?
|
||||
XBSYSAPI EXPORTNUM(34) xboxkrnl::PLIST_ENTRY NTAPI xboxkrnl::ExfInterlockedRemoveHeadList
|
||||
(
|
||||
IN PKSPIN_LOCK Lock,
|
||||
IN PLIST_ENTRY ListHead
|
||||
)
|
||||
{
|
||||
LOG_FUNC_BEGIN
|
||||
LOG_FUNC_ARG(Lock)
|
||||
LOG_FUNC_ARG(ListHead)
|
||||
LOG_FUNC_END;
|
||||
|
||||
LOG_UNIMPLEMENTED();
|
||||
|
||||
RETURN(ListHead);
|
||||
}
|
||||
|
|
|
@ -238,7 +238,7 @@ XBSYSAPI EXPORTNUM(128) VOID NTAPI xboxkrnl::KeQuerySystemTime
|
|||
|
||||
GetSystemTime(&SystemTime);
|
||||
|
||||
SystemTimeToFileTime(&SystemTime, (FILETIME*)CurrentTime);
|
||||
SystemTimeToFileTime(&SystemTime, (LPFILETIME)CurrentTime);
|
||||
}
|
||||
|
||||
// ******************************************************************
|
||||
|
|
|
@ -422,5 +422,5 @@ VOID WINAPI XTL::EmuXGSetTextureHeader
|
|||
//
|
||||
//
|
||||
//
|
||||
// return E_FAIL;
|
||||
// RETURN(E_FAIL);
|
||||
//}
|
||||
|
|
|
@ -80,7 +80,7 @@ HRESULT WINAPI XTL::EmuXACTEngineCreate
|
|||
|
||||
|
||||
|
||||
return S_OK;
|
||||
RETURN(S_OK);
|
||||
}
|
||||
|
||||
// ******************************************************************
|
||||
|
@ -122,7 +122,7 @@ HRESULT WINAPI XTL::EmuIXACTEngine_RegisterWaveBank
|
|||
|
||||
*ppWaveBank = (X_XACTWaveBank*) CxbxMalloc( sizeof( X_XACTWaveBank ) );
|
||||
|
||||
return S_OK;
|
||||
RETURN(S_OK);
|
||||
}
|
||||
|
||||
// ******************************************************************
|
||||
|
@ -145,7 +145,7 @@ HRESULT WINAPI XTL::EmuIXACTEngine_RegisterStreamedWaveBank
|
|||
|
||||
*ppWaveBank = (X_XACTWaveBank*) CxbxMalloc( sizeof( X_XACTWaveBank ) );
|
||||
|
||||
return S_OK;
|
||||
RETURN(S_OK);
|
||||
}
|
||||
|
||||
// ******************************************************************
|
||||
|
@ -170,7 +170,7 @@ HRESULT WINAPI XTL::EmuIXACTEngine_CreateSoundBank
|
|||
|
||||
*ppSoundBank = (X_XACTSoundBank*) CxbxMalloc( sizeof( X_XACTSoundBank ) );
|
||||
|
||||
return S_OK;
|
||||
RETURN(S_OK);
|
||||
}
|
||||
|
||||
// ******************************************************************
|
||||
|
@ -195,7 +195,7 @@ HRESULT WINAPI XTL::EmuIXACTEngine_DownloadEffectsImage
|
|||
|
||||
// TODO: Implement
|
||||
|
||||
return S_OK;
|
||||
RETURN(S_OK);
|
||||
}
|
||||
|
||||
// ******************************************************************
|
||||
|
@ -216,7 +216,7 @@ HRESULT WINAPI XTL::EmuIXACTEngine_CreateSoundSource
|
|||
|
||||
*ppSoundSource = (X_XACTSoundSource*) CxbxMalloc( sizeof( X_XACTSoundSource ) );
|
||||
|
||||
return S_OK;
|
||||
RETURN(S_OK);
|
||||
}
|
||||
|
||||
// ******************************************************************
|
||||
|
@ -233,7 +233,7 @@ HRESULT WINAPI XTL::EmuIXACTEngine_EnableHeadphones
|
|||
LOG_FUNC_ARG(fEnabled)
|
||||
LOG_FUNC_END;
|
||||
|
||||
return S_OK;
|
||||
RETURN(S_OK);
|
||||
}
|
||||
|
||||
// ******************************************************************
|
||||
|
@ -262,7 +262,7 @@ HRESULT WINAPI XTL::EmuIXACTEngine_SetListenerOrientation
|
|||
LOG_FUNC_ARG(dwApply)
|
||||
LOG_FUNC_END;
|
||||
|
||||
return S_OK;
|
||||
RETURN(S_OK);
|
||||
}
|
||||
|
||||
// ******************************************************************
|
||||
|
@ -285,7 +285,7 @@ HRESULT WINAPI XTL::EmuIXACTEngine_SetListenerPosition
|
|||
LOG_FUNC_ARG(dwApply)
|
||||
LOG_FUNC_END;
|
||||
|
||||
return S_OK;
|
||||
RETURN(S_OK);
|
||||
}
|
||||
|
||||
// ******************************************************************
|
||||
|
@ -308,7 +308,7 @@ HRESULT WINAPI XTL::EmuIXACTEngine_SetListenerVelocity
|
|||
LOG_FUNC_ARG(dwApply)
|
||||
LOG_FUNC_END;
|
||||
|
||||
return S_OK;
|
||||
RETURN(S_OK);
|
||||
}
|
||||
|
||||
// ******************************************************************
|
||||
|
@ -327,7 +327,7 @@ HRESULT WINAPI XTL::EmuIXACTEngine_SetMasterVolume
|
|||
LOG_FUNC_ARG(lVolume)
|
||||
LOG_FUNC_END;
|
||||
|
||||
return S_OK;
|
||||
RETURN(S_OK);
|
||||
}
|
||||
|
||||
// ******************************************************************
|
||||
|
@ -340,7 +340,7 @@ HRESULT WINAPI XTL::EmuIXACTEngine_CommitDeferredSettings
|
|||
{
|
||||
LOG_FUNC_ONE_ARG(pThis);
|
||||
|
||||
return S_OK;
|
||||
RETURN(S_OK);
|
||||
}
|
||||
|
||||
// ******************************************************************
|
||||
|
@ -359,7 +359,7 @@ HRESULT WINAPI XTL::EmuIXACTSoundBank_GetSoundCueIndexFromFriendlyName
|
|||
LOG_FUNC_ARG(pdwSoundCueIndex)
|
||||
LOG_FUNC_END;
|
||||
|
||||
return S_OK;
|
||||
RETURN(S_OK);
|
||||
}
|
||||
|
||||
// ******************************************************************
|
||||
|
@ -382,7 +382,7 @@ HRESULT WINAPI XTL::EmuIXACTSoundBank_Play
|
|||
LOG_FUNC_ARG(ppSoundCue)
|
||||
LOG_FUNC_END;
|
||||
|
||||
return S_OK;
|
||||
RETURN(S_OK);
|
||||
}
|
||||
|
||||
// ******************************************************************
|
||||
|
@ -403,7 +403,7 @@ HRESULT WINAPI XTL::EmuIXACTSoundBank_Stop
|
|||
LOG_FUNC_ARG(pSoundCue)
|
||||
LOG_FUNC_END;
|
||||
|
||||
return S_OK;
|
||||
RETURN(S_OK);
|
||||
}
|
||||
|
||||
// ******************************************************************
|
||||
|
@ -426,7 +426,7 @@ HRESULT WINAPI XTL::EmuIXACTSoundSource_SetPosition
|
|||
LOG_FUNC_ARG(dwApply)
|
||||
LOG_FUNC_END;
|
||||
|
||||
return S_OK;
|
||||
RETURN(S_OK);
|
||||
}
|
||||
|
||||
// ******************************************************************
|
||||
|
@ -449,7 +449,7 @@ HRESULT WINAPI XTL::EmuIXACTSoundSource_SetVelocity
|
|||
LOG_FUNC_ARG(dwApply)
|
||||
LOG_FUNC_END;
|
||||
|
||||
return S_OK;
|
||||
RETURN(S_OK);
|
||||
}
|
||||
|
||||
// ******************************************************************
|
||||
|
@ -466,7 +466,7 @@ HRESULT WINAPI XTL::EmuIXACTEngine_RegisterNotification
|
|||
LOG_FUNC_ARG(pNotificationDesc)
|
||||
LOG_FUNC_END;
|
||||
|
||||
return S_OK;
|
||||
RETURN(S_OK);
|
||||
}
|
||||
|
||||
// ******************************************************************
|
||||
|
@ -488,7 +488,7 @@ HRESULT WINAPI XTL::EmuIXACTEngine_GetNotification
|
|||
// TODO: The contents of XACT_NOTIFICATION can vary from one XDK to the next.
|
||||
// The definition for 4627 is different than 5558.
|
||||
|
||||
return S_OK;
|
||||
RETURN(S_OK);
|
||||
}
|
||||
|
||||
// ******************************************************************
|
||||
|
@ -513,5 +513,5 @@ HRESULT WINAPI XTL::EmuIXACTEngine_UnRegisterWaveBank
|
|||
// if(pWaveBank)
|
||||
// free(pWaveBank);
|
||||
|
||||
return S_OK;
|
||||
RETURN(S_OK);
|
||||
}
|
|
@ -72,29 +72,29 @@ extern "C" CXBXKRNL_API uint32 CxbxKrnl_KernelThunkTable[379] =
|
|||
(uint32)FUNC(&xboxkrnl::HalReadSMCTrayState), // 0x0009 (9)
|
||||
(uint32)FUNC(&xboxkrnl::DbgPrompt), // 0x000A (10)
|
||||
(uint32)FUNC(&xboxkrnl::DbgUnLoadImageSymbols), // 0x000B (11)
|
||||
(uint32)PANIC(0x000C), // 0x000C (12) ExAcquireReadWriteLockExclusive
|
||||
(uint32)PANIC(0x000D), // 0x000D (13) ExAcquireReadWriteLockShared
|
||||
(uint32)FUNC(&xboxkrnl::ExAcquireReadWriteLockExclusive), // 0x000C (12)
|
||||
(uint32)FUNC(&xboxkrnl::ExAcquireReadWriteLockShared), // 0x000D (13)
|
||||
(uint32)FUNC(&xboxkrnl::ExAllocatePool), // 0x000E (14)
|
||||
(uint32)FUNC(&xboxkrnl::ExAllocatePoolWithTag), // 0x000F (15)
|
||||
(uint32)VARIABLE(&xboxkrnl::ExEventObjectType), // 0x0010 (16)
|
||||
(uint32)FUNC(&xboxkrnl::ExFreePool), // 0x0011 (17)
|
||||
(uint32)PANIC(0x0012), // 0x0012 (18) ExInitializeReadWriteLock
|
||||
(uint32)PANIC(0x0013), // 0x0013 (19) ExInterlockedAddLargeInteger
|
||||
(uint32)PANIC(0x0014), // 0x0014 (20) ExInterlockedAddLargeStatistic
|
||||
(uint32)PANIC(0x0015), // 0x0015 (21) ExInterlockedCompareExchange64
|
||||
(uint32)FUNC(&xboxkrnl::ExInitializeReadWriteLock), // 0x0012 (18)
|
||||
(uint32)FUNC(&xboxkrnl::ExInterlockedAddLargeInteger), // 0x0013 (19)
|
||||
(uint32)FUNC(&xboxkrnl::ExInterlockedAddLargeStatistic), // 0x0014 (20)
|
||||
(uint32)FUNC(&xboxkrnl::ExInterlockedCompareExchange64), // 0x0015 (21)
|
||||
(uint32)VARIABLE(&xboxkrnl::ExMutantObjectType), // 0x0016 (22)
|
||||
(uint32)FUNC(&xboxkrnl::ExQueryPoolBlockSize), // 0x0017 (23)
|
||||
(uint32)FUNC(&xboxkrnl::ExQueryNonVolatileSetting), // 0x0018 (24)
|
||||
(uint32)FUNC(&xboxkrnl::ExReadWriteRefurbInfo), // 0x0019 (25)
|
||||
(uint32)PANIC(0x001A), // 0x001A (26) ExQueryPoolBlockSize
|
||||
(uint32)PANIC(0x001B), // 0x001B (27) ExRaiseStatus
|
||||
(uint32)PANIC(0x001C), // 0x001C (28) ExReleaseReadWriteLock
|
||||
(uint32)FUNC(&xboxkrnl::ExQueryPoolBlockSize), // 0x001A (26)
|
||||
(uint32)FUNC(&xboxkrnl::ExRaiseStatus), // 0x001B (27)
|
||||
(uint32)FUNC(&xboxkrnl::ExReleaseReadWriteLock), // 0x001C (28)
|
||||
(uint32)FUNC(&xboxkrnl::ExSaveNonVolatileSetting), // 0x001D (29)
|
||||
(uint32)VARIABLE(&xboxkrnl::ExSemaphoreObjectType), // 0x001E (30)
|
||||
(uint32)VARIABLE(&xboxkrnl::ExTimerObjectType), // 0x001F (31)
|
||||
(uint32)PANIC(0x0020), // 0x0020 (32) ExfInterlockedInsertHeadList
|
||||
(uint32)PANIC(0x0021), // 0x0021 (33) ExfInterlockedInsertTailList
|
||||
(uint32)PANIC(0x0022), // 0x0022 (34) ExfInterlockedRemoveHeadList
|
||||
(uint32)FUNC(&xboxkrnl::ExfInterlockedInsertHeadList), // 0x0020 (32)
|
||||
(uint32)FUNC(&xboxkrnl::ExfInterlockedInsertTailList), // 0x0021 (33)
|
||||
(uint32)FUNC(&xboxkrnl::ExfInterlockedRemoveHeadList), // 0x0022 (34)
|
||||
(uint32)FUNC(&xboxkrnl::FscGetCacheSize), // 0x0023 (35)
|
||||
(uint32)FUNC(&xboxkrnl::FscInvalidateIdleBlocks), // 0x0024 (36)
|
||||
(uint32)FUNC(&xboxkrnl::FscSetCacheSize), // 0x0025 (37)
|
||||
|
|
Loading…
Reference in New Issue