X-Git-Url: http://git.jankratochvil.net/?p=reactos.git;a=blobdiff_plain;f=lib%2Fadvapi32%2Ftoken%2Fprivilege.c;h=97f42886c47774a7822dbc5e5e3263294482a6e3;hp=5fad2a407f80628adf1cc729823b7bde2b47b79d;hb=HEAD;hpb=7c0db166f81fbe8c8b913d7f26048e337d383605 diff --git a/lib/advapi32/token/privilege.c b/lib/advapi32/token/privilege.c index 5fad2a4..97f4288 100644 --- a/lib/advapi32/token/privilege.c +++ b/lib/advapi32/token/privilege.c @@ -15,11 +15,13 @@ /********************************************************************** * LookupPrivilegeValueA EXPORTED * LookupPrivilegeValueW EXPORTED + * + * @implemented */ BOOL STDCALL LookupPrivilegeValueA ( - LPCSTR lpSystemName, - LPCSTR lpName, - PLUID lpLuid + LPCSTR lpSystemName, + LPCSTR lpName, + PLUID lpLuid ) { BOOL rv = FALSE; @@ -69,9 +71,9 @@ BOOL STDCALL LookupPrivilegeValueA ( * of this API. */ if (FALSE == (rv = LookupPrivilegeValueW ( - (lpSystemName ? SystemNameW.Buffer : NULL), - NameW.Buffer, - lpLuid + (lpSystemName ? SystemNameW.Buffer : NULL), + NameW.Buffer, + lpLuid ) ) ) @@ -103,7 +105,7 @@ BOOL STDCALL LookupPrivilegeValueA ( } return (rv); } - + BOOL STDCALL LookupPrivilegeValueW ( LPCWSTR lpSystemName, @@ -119,6 +121,8 @@ BOOL STDCALL LookupPrivilegeValueW ( /********************************************************************** * LookupPrivilegeDisplayNameA EXPORTED * LookupPrivilegeDisplayNameW EXPORTED + * + * @unimplemented */ BOOL STDCALL LookupPrivilegeDisplayNameA ( LPCSTR lpSystemName, @@ -131,8 +135,11 @@ BOOL STDCALL LookupPrivilegeDisplayNameA ( SetLastError (ERROR_CALL_NOT_IMPLEMENTED); return (FALSE); } - + +/* + * @unimplemented + */ BOOL STDCALL LookupPrivilegeDisplayNameW ( LPCWSTR lpSystemName, LPCWSTR lpName, @@ -149,29 +156,60 @@ BOOL STDCALL LookupPrivilegeDisplayNameW ( /********************************************************************** * LookupPrivilegeNameA EXPORTED * LookupPrivilegeNameW EXPORTED + * + * @unimplemented */ BOOL STDCALL LookupPrivilegeNameA ( LPCSTR lpSystemName, PLUID lpLuid, LPSTR lpName, LPDWORD cbName - ) + ) { SetLastError (ERROR_CALL_NOT_IMPLEMENTED); return (FALSE); } - +/* + * @unimplemented + */ BOOL STDCALL LookupPrivilegeNameW ( LPCWSTR lpSystemName, PLUID lpLuid, LPWSTR lpName, LPDWORD cbName - ) + ) { SetLastError (ERROR_CALL_NOT_IMPLEMENTED); return (FALSE); } - + + +/********************************************************************** + * PrivilegeCheck EXPORTED + * + * @implemented + */ +BOOL STDCALL +PrivilegeCheck (HANDLE ClientToken, + PPRIVILEGE_SET RequiredPrivileges, + LPBOOL pfResult) +{ + BOOLEAN Result; + NTSTATUS Status; + + Status = NtPrivilegeCheck (ClientToken, + RequiredPrivileges, + &Result); + if (!NT_SUCCESS (Status)) + { + SetLastError (RtlNtStatusToDosError (Status)); + return FALSE; + } + + *pfResult = (BOOL) Result; + + return TRUE; +} /* EOF */