[NTDLL]: Stubplement and export LdrFlushAlternateResourceModules needed for Windows 2k3 user32.dll and winsrv.dll .

[RTL]: Stubplement and export RtlConsoleMultiByteToUnicodeN (and fallback to RtlMultiByteToUnicodeN) needed for WIndows 2k3 winsrv.dll

CORE-7481 #comment LdrFlushAlternateResourceModules and RtlConsoleMultiByteToUnicodeN stubplemented in revision 60532.

svn path=/trunk/; revision=60532
This commit is contained in:
Hermès Bélusca-Maïto 2013-10-05 12:06:59 +00:00
parent 490190e205
commit 498ca6d41a
3 changed files with 50 additions and 13 deletions

View file

@ -56,7 +56,7 @@
@ stdcall LdrFindResourceDirectory_U(long ptr long ptr) @ stdcall LdrFindResourceDirectory_U(long ptr long ptr)
;@ stdcall LdrFindResourceEx_U ; 5.1 and higher ;@ stdcall LdrFindResourceEx_U ; 5.1 and higher
@ stdcall LdrFindResource_U(long ptr long ptr) @ stdcall LdrFindResource_U(long ptr long ptr)
;@ stdcall LdrFlushAlternateResourceModules @ stdcall LdrFlushAlternateResourceModules()
@ stdcall LdrGetDllHandle(wstr long ptr ptr) @ stdcall LdrGetDllHandle(wstr long ptr ptr)
@ stdcall LdrGetDllHandleEx(long wstr long ptr ptr) @ stdcall LdrGetDllHandleEx(long wstr long ptr ptr)
@ stdcall LdrGetProcedureAddress(ptr ptr long ptr) @ stdcall LdrGetProcedureAddress(ptr ptr long ptr)
@ -451,7 +451,7 @@
@ stdcall RtlComputeCrc32(long ptr long) @ stdcall RtlComputeCrc32(long ptr long)
@ stdcall RtlComputeImportTableHash(ptr ptr long) @ stdcall RtlComputeImportTableHash(ptr ptr long)
@ stdcall RtlComputePrivatizedDllName_U(ptr ptr ptr) @ stdcall RtlComputePrivatizedDllName_U(ptr ptr ptr)
;@ stdcall RtlConsoleMultiByteToUnicodeN @ stdcall RtlConsoleMultiByteToUnicodeN(ptr long ptr ptr long ptr)
@ stdcall RtlConvertExclusiveToShared(ptr) @ stdcall RtlConvertExclusiveToShared(ptr)
@ stdcall -arch=win32 -ret64 RtlConvertLongToLargeInteger(long) @ stdcall -arch=win32 -ret64 RtlConvertLongToLargeInteger(long)
;@ stdcall RtlConvertPropertyToVariant ;@ stdcall RtlConvertPropertyToVariant

View file

@ -1582,6 +1582,24 @@ LdrProcessRelocationBlock(IN ULONG_PTR Address,
return LdrProcessRelocationBlockLongLong(Address, Count, TypeOffset, Delta); return LdrProcessRelocationBlockLongLong(Address, Count, TypeOffset, Delta);
} }
/* FIXME: Add to ntstatus.mc */
#define STATUS_MUI_FILE_NOT_FOUND ((NTSTATUS)0xC00B0001L)
/*
* @implemented
*/
NTSTATUS
NTAPI
LdrLoadAlternateResourceModule(IN PVOID Module,
IN PWSTR Buffer)
{
/* Is MUI Support enabled? */
if (!LdrAlternateResourcesEnabled()) return STATUS_SUCCESS;
UNIMPLEMENTED;
return STATUS_MUI_FILE_NOT_FOUND;
}
/* /*
* @implemented * @implemented
*/ */
@ -1607,22 +1625,15 @@ LdrUnloadAlternateResourceModule(IN PVOID BaseAddress)
return TRUE; return TRUE;
} }
/* FIXME: Add to ntstatus.mc */
#define STATUS_MUI_FILE_NOT_FOUND ((NTSTATUS)0xC00B0001L)
/* /*
* @implemented * @unimplemented
*/ */
NTSTATUS BOOLEAN
NTAPI NTAPI
LdrLoadAlternateResourceModule(IN PVOID Module, LdrFlushAlternateResourceModules(VOID)
IN PWSTR Buffer)
{ {
/* Is MUI Support enabled? */
if (!LdrAlternateResourcesEnabled()) return STATUS_SUCCESS;
UNIMPLEMENTED; UNIMPLEMENTED;
return STATUS_MUI_FILE_NOT_FOUND; return FALSE;
} }
/* EOF */ /* EOF */

View file

@ -288,6 +288,32 @@ RtlMultiByteToUnicodeN(
} }
/*
* @unimplemented
*/
NTSTATUS
NTAPI
RtlConsoleMultiByteToUnicodeN(
OUT PWCHAR UnicodeString,
IN ULONG UnicodeSize,
OUT PULONG ResultSize,
IN PCSTR MbString,
IN ULONG MbSize,
OUT PULONG Unknown)
{
PAGED_CODE_RTL();
UNIMPLEMENTED;
DPRINT1("RtlConsoleMultiByteToUnicodeN calling RtlMultiByteToUnicodeN\n");
*Unknown = 1;
return RtlMultiByteToUnicodeN(UnicodeString,
UnicodeSize,
ResultSize,
MbString,
MbSize);
}
/* /*
* @implemented * @implemented