Implemented RtlCreateUnicodeString

This commit is contained in:
PatrickvL 2016-12-23 18:25:49 +01:00
parent 91cdf3e046
commit 183161f4db
5 changed files with 40 additions and 2 deletions

View File

@ -133,7 +133,15 @@ XBSYSAPI EXPORTNUM(273) VOID NTAPI RtlCopyUnicodeString
IN PUNICODE_STRING SourceString OPTIONAL
);
XBSYSAPI VOID *RtlCreateUnicodeString;
// ******************************************************************
// * 0x0112 - RtlCreateUnicodeString()
// ******************************************************************
XBSYSAPI EXPORTNUM(274) BOOLEAN NTAPI RtlCreateUnicodeString
(
OUT PUNICODE_STRING DestinationString,
IN PCWSTR SourceString
);
XBSYSAPI VOID *RtlDowncaseUnicodeChar;
XBSYSAPI VOID *RtlDowncaseUnicodeString;

View File

@ -337,6 +337,25 @@ XBSYSAPI EXPORTNUM(273) xboxkrnl::VOID NTAPI xboxkrnl::RtlCopyUnicodeString
NtDll::RtlCopyUnicodeString((NtDll::PUNICODE_STRING)DestinationString, (NtDll::PUNICODE_STRING)SourceString);
}
// ******************************************************************
// * 0x0112 - RtlCreateUnicodeString()
// ******************************************************************
XBSYSAPI EXPORTNUM(274) xboxkrnl::BOOLEAN NTAPI xboxkrnl::RtlCreateUnicodeString
(
OUT PUNICODE_STRING DestinationString,
IN PCWSTR SourceString
)
{
LOG_FUNC_BEGIN
LOG_FUNC_ARG(DestinationString)
LOG_FUNC_ARG(SourceString)
LOG_FUNC_END;
BOOLEAN result = NtDll::RtlCreateUnicodeString((NtDll::PUNICODE_STRING)DestinationString, (NtDll::PCWSTR)SourceString);
RETURN(result);
}
// ******************************************************************
// * 0x0115 - RtlEnterCriticalSection()
// ******************************************************************

View File

@ -114,6 +114,7 @@ IMPORT(RtlCompareUnicodeString);
IMPORT(RtlCopyString);
IMPORT(RtlCopyUnicodeString);
IMPORT(RtlCreateHeap);
IMPORT(RtlCreateUnicodeString);
IMPORT(RtlDestroyHeap);
IMPORT(RtlEnterCriticalSection);
IMPORT(RtlEqualString);

View File

@ -985,6 +985,15 @@ typedef LONG (NTAPI *FPTR_RtlCopyUnicodeString)
IN PUNICODE_STRING SourceString OPTIONAL
);
// ******************************************************************
// * RtlCreateUnicodeString
// ******************************************************************
typedef BOOLEAN (NTAPI *FPTR_RtlCreateUnicodeString)
(
OUT PUNICODE_STRING DestinationString,
IN PCWSTR SourceString
);
// ******************************************************************
// * RtlUnicodeStringToAnsiString
// ******************************************************************
@ -1630,6 +1639,7 @@ EXTERN(RtlCompareUnicodeString);
EXTERN(RtlCopyString);
EXTERN(RtlCopyUnicodeString);
EXTERN(RtlCreateHeap);
EXTERN(RtlCreateUnicodeString);
EXTERN(RtlDestroyHeap);
EXTERN(RtlEnterCriticalSection);
EXTERN(RtlEqualString);

View File

@ -339,7 +339,7 @@ extern "C" CXBXKRNL_API uint32 CxbxKrnl_KernelThunkTable[379] =
(uint32)FUNC(&xboxkrnl::RtlCompareUnicodeString), // 0x010F (271)
(uint32)FUNC(&xboxkrnl::RtlCopyString), // 0x0110 (272)
(uint32)FUNC(&xboxkrnl::RtlCopyUnicodeString), // 0x0111 (273)
(uint32)PANIC(0x0112), // 0x0112 (274) RtlCreateUnicodeString
(uint32)FUNC(&xboxkrnl::RtlCreateUnicodeString), // 0x0112 (274)
(uint32)PANIC(0x0113), // 0x0113 (275) RtlDowncaseUnicodeChar
(uint32)PANIC(0x0114), // 0x0114 (276) RtlDowncaseUnicodeString
(uint32)FUNC(&xboxkrnl::RtlEnterCriticalSection), // 0x0115 (277)