Implemented RtlCompareUnicodeString

This commit is contained in:
PatrickvL 2016-12-23 18:03:31 +01:00
parent 5a64d38256
commit 90363fcf75
5 changed files with 43 additions and 2 deletions

View File

@ -101,7 +101,15 @@ XBSYSAPI EXPORTNUM(270) LONG NTAPI RtlCompareString
IN BOOLEAN CaseInSensitive
);
XBSYSAPI VOID *RtlCompareUnicodeString;
// ******************************************************************
// * 0x010F - RtlCompareUnicodeString()
// ******************************************************************
XBSYSAPI EXPORTNUM(271) LONG NTAPI RtlCompareUnicodeString
(
IN PUNICODE_STRING String1,
IN PUNICODE_STRING String2,
IN BOOLEAN CaseInSensitive
);
// ******************************************************************
// * RtlCopyString

View File

@ -282,6 +282,27 @@ XBSYSAPI EXPORTNUM(270) xboxkrnl::LONG NTAPI xboxkrnl::RtlCompareString
RETURN(result);
}
// ******************************************************************
// * 0x010F - RtlCompareUnicodeString()
// ******************************************************************
XBSYSAPI EXPORTNUM(271) xboxkrnl::LONG NTAPI xboxkrnl::RtlCompareUnicodeString
(
IN PUNICODE_STRING String1,
IN PUNICODE_STRING String2,
IN BOOLEAN CaseInSensitive
)
{
LOG_FUNC_BEGIN
LOG_FUNC_ARG(String1)
LOG_FUNC_ARG(String2)
LOG_FUNC_ARG(CaseInSensitive)
LOG_FUNC_END;
LONG result = NtDll::RtlCompareUnicodeString((NtDll::PUNICODE_STRING)String1, (NtDll::PUNICODE_STRING)String2, CaseInSensitive);
RETURN(result);
}
// ******************************************************************
// * 0x0115 - RtlEnterCriticalSection()
// ******************************************************************

View File

@ -110,6 +110,7 @@ IMPORT(RtlCharToInteger);
IMPORT(RtlCompareMemory);
IMPORT(RtlCompareMemoryUlong);
IMPORT(RtlCompareString);
IMPORT(RtlCompareUnicodeString);
IMPORT(RtlCreateHeap);
IMPORT(RtlDestroyHeap);
IMPORT(RtlEnterCriticalSection);

View File

@ -957,6 +957,16 @@ typedef LONG (NTAPI *FPTR_RtlCompareString)
IN BOOLEAN CaseInSensitive
);
// ******************************************************************
// * RtlCompareUnicodeString
// ******************************************************************
typedef LONG (NTAPI *FPTR_RtlCompareUnicodeString)
(
IN PCUNICODE_STRING String1,
IN PCUNICODE_STRING String2,
IN BOOLEAN CaseInSensitive
);
// ******************************************************************
// * RtlUnicodeStringToAnsiString
// ******************************************************************
@ -1598,6 +1608,7 @@ EXTERN(RtlCharToInteger);
EXTERN(RtlCompareMemory);
EXTERN(RtlCompareMemoryUlong);
EXTERN(RtlCompareString);
EXTERN(RtlCompareUnicodeString);
EXTERN(RtlCreateHeap);
EXTERN(RtlDestroyHeap);
EXTERN(RtlEnterCriticalSection);

View File

@ -336,7 +336,7 @@ extern "C" CXBXKRNL_API uint32 CxbxKrnl_KernelThunkTable[379] =
(uint32)FUNC(&xboxkrnl::RtlCompareMemory), // 0x010C (268)
(uint32)FUNC(&xboxkrnl::RtlCompareMemoryUlong), // 0x010D (269)
(uint32)FUNC(&xboxkrnl::RtlCompareString), // 0x010E (270)
(uint32)PANIC(0x010F), // 0x010F (271) RtlCompareUnicodeString
(uint32)FUNC(&xboxkrnl::RtlCompareUnicodeString), // 0x010F (271)
(uint32)PANIC(0x0110), // 0x0110 (272) RtlCopyString
(uint32)PANIC(0x0111), // 0x0111 (273) RtlCopyUnicodeString
(uint32)PANIC(0x0112), // 0x0112 (274) RtlCreateUnicodeString