From ff8471eb070179a093a9c57ecff9ee2c184206ed Mon Sep 17 00:00:00 2001 From: Alexandre Julliard Date: Fri, 23 Mar 2018 09:14:12 +0100 Subject: [PATCH] kernel32: Implement QueryActCtxSettingsW. Signed-off-by: Alexandre Julliard --- dlls/kernel32/actctx.c | 17 +++++++++++++++++ dlls/kernel32/kernel32.spec | 2 +- include/winbase.h | 1 + 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/dlls/kernel32/actctx.c b/dlls/kernel32/actctx.c index 2eb1c2ab95c..17067ed1b44 100644 --- a/dlls/kernel32/actctx.c +++ b/dlls/kernel32/actctx.c @@ -309,3 +309,20 @@ BOOL WINAPI QueryActCtxW(DWORD dwFlags, HANDLE hActCtx, PVOID pvSubInst, } return TRUE; } + +/*********************************************************************** + * QueryActCtxSettingsW (KERNEL32.@) + */ +BOOL WINAPI QueryActCtxSettingsW( DWORD flags, HANDLE ctx, const WCHAR *ns, const WCHAR *settings, + WCHAR *buffer, SIZE_T size, SIZE_T *written ) +{ + NTSTATUS status; + + if ((status = RtlQueryActivationContextApplicationSettings( flags, ctx, ns, settings, + buffer, size, written ))) + { + SetLastError( RtlNtStatusToDosError( status )); + return FALSE; + } + return TRUE; +} diff --git a/dlls/kernel32/kernel32.spec b/dlls/kernel32/kernel32.spec index aae22eb6502..445b84ff3ee 100644 --- a/dlls/kernel32/kernel32.spec +++ b/dlls/kernel32/kernel32.spec @@ -1155,7 +1155,7 @@ @ stdcall PulseEvent(long) @ stdcall PurgeComm(long long) @ stdcall -i386 -private -norelay QT_Thunk() krnl386.exe16.QT_Thunk -# @ stub QueryActCtxSettingsW +@ stdcall QueryActCtxSettingsW(long ptr wstr wstr ptr long ptr) @ stdcall QueryActCtxW(long ptr ptr long ptr long ptr) @ stdcall QueryDepthSList(ptr) ntdll.RtlQueryDepthSList @ stdcall QueryDosDeviceA(str ptr long) diff --git a/include/winbase.h b/include/winbase.h index c99993a61af..e31ebca56e9 100644 --- a/include/winbase.h +++ b/include/winbase.h @@ -2475,6 +2475,7 @@ WINADVAPI BOOL WINAPI PrivilegedServiceAuditAlarmW(LPCWSTR,LPCWSTR,HANDL #define PrivilegedServiceAuditAlarm WINELIB_NAME_AW(PrivilegedServiceAuditAlarm) WINBASEAPI BOOL WINAPI PulseEvent(HANDLE); WINBASEAPI BOOL WINAPI PurgeComm(HANDLE,DWORD); +WINBASEAPI BOOL WINAPI QueryActCtxSettingsW(DWORD,HANDLE,const WCHAR*,const WCHAR*,WCHAR*,SIZE_T,SIZE_T*); WINBASEAPI BOOL WINAPI QueryActCtxW(DWORD,HANDLE,PVOID,ULONG,PVOID,SIZE_T,SIZE_T *); WINBASEAPI USHORT WINAPI QueryDepthSList(PSLIST_HEADER); WINBASEAPI DWORD WINAPI QueryDosDeviceA(LPCSTR,LPSTR,DWORD);