Implemented PrivilegeCheck().

svn path=/trunk/; revision=5187
This commit is contained in:
Eric Kohl 2003-07-20 15:16:51 +00:00
parent 67897f32c0
commit b6f5c8a9af
2 changed files with 41 additions and 16 deletions

View file

@ -1,4 +1,4 @@
; $Id: advapi32.edf,v 1.21 2003/07/20 00:04:06 ekohl Exp $ ; $Id: advapi32.edf,v 1.22 2003/07/20 15:16:51 ekohl Exp $
; ;
; advapi32.edf ; advapi32.edf
; ;
@ -288,7 +288,7 @@ OpenSCManagerW=OpenSCManagerW@12
OpenServiceA=OpenServiceA@12 OpenServiceA=OpenServiceA@12
OpenServiceW=OpenServiceW@12 OpenServiceW=OpenServiceW@12
OpenThreadToken=OpenThreadToken@16 OpenThreadToken=OpenThreadToken@16
;PrivilegeCheck=PrivilegeCheck@12 PrivilegeCheck=PrivilegeCheck@12
;PrivilegedServiceAuditAlarmA=PrivilegedServiceAuditAlarmA@20 ;PrivilegedServiceAuditAlarmA=PrivilegedServiceAuditAlarmA@20
;PrivilegedServiceAuditAlarmW=PrivilegedServiceAuditAlarmW@20 ;PrivilegedServiceAuditAlarmW=PrivilegedServiceAuditAlarmW@20
;ProvAccessRightsToNTAccessMask=ProvAccessRightsToNTAccessMask@8 ;ProvAccessRightsToNTAccessMask=ProvAccessRightsToNTAccessMask@8

View file

@ -1,4 +1,4 @@
/* $Id: privilege.c,v 1.4 2003/07/10 15:05:55 chorns Exp $ /* $Id: privilege.c,v 1.5 2003/07/20 15:16:32 ekohl Exp $
* *
* COPYRIGHT: See COPYING in the top level directory * COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS system libraries * PROJECT: ReactOS system libraries
@ -19,9 +19,9 @@
* @implemented * @implemented
*/ */
BOOL STDCALL LookupPrivilegeValueA ( BOOL STDCALL LookupPrivilegeValueA (
LPCSTR lpSystemName, LPCSTR lpSystemName,
LPCSTR lpName, LPCSTR lpName,
PLUID lpLuid PLUID lpLuid
) )
{ {
BOOL rv = FALSE; BOOL rv = FALSE;
@ -71,9 +71,9 @@ BOOL STDCALL LookupPrivilegeValueA (
* of this API. * of this API.
*/ */
if (FALSE == (rv = LookupPrivilegeValueW ( if (FALSE == (rv = LookupPrivilegeValueW (
(lpSystemName ? SystemNameW.Buffer : NULL), (lpSystemName ? SystemNameW.Buffer : NULL),
NameW.Buffer, NameW.Buffer,
lpLuid lpLuid
) )
) )
) )
@ -105,7 +105,7 @@ BOOL STDCALL LookupPrivilegeValueA (
} }
return (rv); return (rv);
} }
BOOL STDCALL LookupPrivilegeValueW ( BOOL STDCALL LookupPrivilegeValueW (
LPCWSTR lpSystemName, LPCWSTR lpSystemName,
@ -135,7 +135,7 @@ BOOL STDCALL LookupPrivilegeDisplayNameA (
SetLastError (ERROR_CALL_NOT_IMPLEMENTED); SetLastError (ERROR_CALL_NOT_IMPLEMENTED);
return (FALSE); return (FALSE);
} }
/* /*
* @unimplemented * @unimplemented
@ -164,15 +164,13 @@ BOOL STDCALL LookupPrivilegeNameA (
PLUID lpLuid, PLUID lpLuid,
LPSTR lpName, LPSTR lpName,
LPDWORD cbName LPDWORD cbName
) )
{ {
SetLastError (ERROR_CALL_NOT_IMPLEMENTED); SetLastError (ERROR_CALL_NOT_IMPLEMENTED);
return (FALSE); return (FALSE);
} }
/* /*
*
* @unimplemented * @unimplemented
*/ */
BOOL STDCALL LookupPrivilegeNameW ( BOOL STDCALL LookupPrivilegeNameW (
@ -180,11 +178,38 @@ BOOL STDCALL LookupPrivilegeNameW (
PLUID lpLuid, PLUID lpLuid,
LPWSTR lpName, LPWSTR lpName,
LPDWORD cbName LPDWORD cbName
) )
{ {
SetLastError (ERROR_CALL_NOT_IMPLEMENTED); SetLastError (ERROR_CALL_NOT_IMPLEMENTED);
return (FALSE); 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 */ /* EOF */