[NTDLL][USER32]: Stub out two APIs that are called by Win32 dlls:

- ntdll.dll: RtlConvertUiListToApiList(), which is a helper used by netapi32.dll;
- user32.dll: GetWinStationInfo() (that just calls into win32k), which is called by e.g. winmm.dll .

svn path=/trunk/; revision=74803
This commit is contained in:
Hermès Bélusca-Maïto 2017-06-03 20:26:26 +00:00
parent c3265cc215
commit d144147237
5 changed files with 53 additions and 2 deletions

View file

@ -20,6 +20,7 @@ list(APPEND SOURCE
ldr/ldrpe.c ldr/ldrpe.c
ldr/ldrutils.c ldr/ldrutils.c
rtl/libsupp.c rtl/libsupp.c
rtl/uilist.c
rtl/version.c rtl/version.c
etw/trace.c etw/trace.c
include/ntdll.h) include/ntdll.h)

View file

@ -502,7 +502,7 @@
501 stdcall RtlConvertSharedToExclusive(ptr) 501 stdcall RtlConvertSharedToExclusive(ptr)
502 stdcall RtlConvertSidToUnicodeString(ptr ptr long) 502 stdcall RtlConvertSidToUnicodeString(ptr ptr long)
503 stdcall RtlConvertToAutoInheritSecurityObject(ptr ptr ptr ptr long ptr) 503 stdcall RtlConvertToAutoInheritSecurityObject(ptr ptr ptr ptr long ptr)
# stdcall RtlConvertUiListToApiList 504 stdcall RtlConvertUiListToApiList(ptr ptr long)
505 stdcall -arch=win32 -ret64 RtlConvertUlongToLargeInteger(long) 505 stdcall -arch=win32 -ret64 RtlConvertUlongToLargeInteger(long)
506 stdcall RtlCopyLuid(ptr ptr) 506 stdcall RtlCopyLuid(ptr ptr)
507 stdcall RtlCopyLuidAndAttributesArray(long ptr ptr) 507 stdcall RtlCopyLuidAndAttributesArray(long ptr ptr)

View file

@ -0,0 +1,40 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS NT User-Mode DLL
* FILE: lib/ntdll/rtl/uilist.c
* PURPOSE: RTL UI to API network computers list conversion.
* Helper for NETAPI32.DLL
* PROGRAMMERS: Hermes Belusca-Maito
*/
/* INCLUDES *****************************************************************/
#include <ntdll.h>
#define NDEBUG
#include <debug.h>
/* FUNCTIONS ***************************************************************/
/*
* @unimplemented
*/
NTSTATUS
NTAPI
RtlConvertUiListToApiList(
IN PUNICODE_STRING UiList,
OUT PUNICODE_STRING ApiList,
IN BOOLEAN SpaceAsSeparator)
{
DPRINT1("RtlConvertUiListToApiList(%wZ, 0x%p, %s) called\n",
UiList, &ApiList, SpaceAsSeparator ? "true" : "false");
UNIMPLEMENTED;
/*
* Experiments show that returning a success code but setting the
* ApiList length to zero is better than returning a failure code.
*/
RtlInitEmptyUnicodeString(ApiList, NULL, 0);
return STATUS_SUCCESS;
}
/* EOF */

View file

@ -285,6 +285,16 @@ EnumWindowStationsW(WINSTAENUMPROCW EnumFunc,
} }
/*
* @unimplemented on Win32k side
*/
BOOL WINAPI
GetWinStationInfo(PVOID pUnknown)
{
return (BOOL)NtUserCallOneParam((DWORD_PTR)pUnknown, ONEPARAM_ROUTINE_GETWINSTAINFO);
}
/* /*
* @implemented * @implemented
*/ */

View file

@ -366,7 +366,7 @@
363 stdcall GetUserObjectInformationA(long long ptr long ptr) 363 stdcall GetUserObjectInformationA(long long ptr long ptr)
364 stdcall GetUserObjectInformationW(long long ptr long ptr) NtUserGetObjectInformation 364 stdcall GetUserObjectInformationW(long long ptr long ptr) NtUserGetObjectInformation
365 stdcall GetUserObjectSecurity (long ptr ptr long ptr) 365 stdcall GetUserObjectSecurity (long ptr ptr long ptr)
# GetWinStationInfo 366 stdcall GetWinStationInfo(ptr)
367 stdcall GetWindow(long long) 367 stdcall GetWindow(long long)
368 stdcall GetWindowContextHelpId(long) 368 stdcall GetWindowContextHelpId(long)
369 stdcall GetWindowDC(long) NtUserGetWindowDC 369 stdcall GetWindowDC(long) NtUserGetWindowDC