Author: weiden Date: Wed Jul 18 13:47:05 2007 New Revision: 27712
URL: http://svn.reactos.org/svn/reactos?rev=27712&view=rev Log: Implement QuerySecurityAccessMask
Modified: trunk/reactos/dll/win32/advapi32/advapi32.def trunk/reactos/dll/win32/advapi32/sec/sec.c trunk/reactos/include/psdk/winbase.h
Modified: trunk/reactos/dll/win32/advapi32/advapi32.def URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/advapi32/advapi32... ============================================================================== --- trunk/reactos/dll/win32/advapi32/advapi32.def (original) +++ trunk/reactos/dll/win32/advapi32/advapi32.def Wed Jul 18 13:47:05 2007 @@ -451,6 +451,7 @@ ;QueryAllTracesA ;QueryAllTracesW QueryRecoveryAgentsOnEncryptedFile@8 +QuerySecurityAccessMask@8 QueryServiceConfig2A@20 QueryServiceConfig2W@20 QueryServiceConfigA@16
Modified: trunk/reactos/dll/win32/advapi32/sec/sec.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/advapi32/sec/sec.... ============================================================================== --- trunk/reactos/dll/win32/advapi32/sec/sec.c (original) +++ trunk/reactos/dll/win32/advapi32/sec/sec.c Wed Jul 18 13:47:05 2007 @@ -466,6 +466,28 @@
/* + * @implemented + */ +VOID +WINAPI +QuerySecurityAccessMask(IN SECURITY_INFORMATION SecurityInformation, + OUT LPDWORD DesiredAccess) +{ + *DesiredAccess = 0; + + if (SecurityInformation & (OWNER_SECURITY_INFORMATION | + GROUP_SECURITY_INFORMATION | DACL_SECURITY_INFORMATION)) + { + *DesiredAccess |= READ_CONTROL; + } + + if (SecurityInformation & SACL_SECURITY_INFORMATION) + { + *DesiredAccess |= ACCESS_SYSTEM_SECURITY; + } +} + +/* * @unimplemented */ BOOL
Modified: trunk/reactos/include/psdk/winbase.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/psdk/winbase.h?rev=... ============================================================================== --- trunk/reactos/include/psdk/winbase.h (original) +++ trunk/reactos/include/psdk/winbase.h Wed Jul 18 13:47:05 2007 @@ -1841,6 +1841,9 @@ #endif BOOL WINAPI QueryPerformanceCounter(PLARGE_INTEGER); BOOL WINAPI QueryPerformanceFrequency(PLARGE_INTEGER); +#if (_WIN32_WINNT >= 0x0600) +VOID WINAPI QuerySecurityAccessMask(SECURITY_INFORMATION,LPDWORD); +#endif DWORD WINAPI QueueUserAPC(PAPCFUNC,HANDLE,ULONG_PTR); #if (_WIN32_WINNT >= 0x0500) BOOL WINAPI QueueUserWorkItem(LPTHREAD_START_ROUTINE,PVOID,ULONG);