mirror of
https://github.com/reactos/reactos.git
synced 2024-08-07 19:58:21 +00:00
Implemented PrivilegeCheck().
svn path=/trunk/; revision=5187
This commit is contained in:
parent
67897f32c0
commit
b6f5c8a9af
|
@ -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
|
||||
;
|
||||
|
@ -288,7 +288,7 @@ OpenSCManagerW=OpenSCManagerW@12
|
|||
OpenServiceA=OpenServiceA@12
|
||||
OpenServiceW=OpenServiceW@12
|
||||
OpenThreadToken=OpenThreadToken@16
|
||||
;PrivilegeCheck=PrivilegeCheck@12
|
||||
PrivilegeCheck=PrivilegeCheck@12
|
||||
;PrivilegedServiceAuditAlarmA=PrivilegedServiceAuditAlarmA@20
|
||||
;PrivilegedServiceAuditAlarmW=PrivilegedServiceAuditAlarmW@20
|
||||
;ProvAccessRightsToNTAccessMask=ProvAccessRightsToNTAccessMask@8
|
||||
|
|
|
@ -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
|
||||
* PROJECT: ReactOS system libraries
|
||||
|
@ -19,9 +19,9 @@
|
|||
* @implemented
|
||||
*/
|
||||
BOOL STDCALL LookupPrivilegeValueA (
|
||||
LPCSTR lpSystemName,
|
||||
LPCSTR lpName,
|
||||
PLUID lpLuid
|
||||
LPCSTR lpSystemName,
|
||||
LPCSTR lpName,
|
||||
PLUID lpLuid
|
||||
)
|
||||
{
|
||||
BOOL rv = FALSE;
|
||||
|
@ -71,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
|
||||
)
|
||||
)
|
||||
)
|
||||
|
@ -105,7 +105,7 @@ BOOL STDCALL LookupPrivilegeValueA (
|
|||
}
|
||||
return (rv);
|
||||
}
|
||||
|
||||
|
||||
|
||||
BOOL STDCALL LookupPrivilegeValueW (
|
||||
LPCWSTR lpSystemName,
|
||||
|
@ -135,7 +135,7 @@ BOOL STDCALL LookupPrivilegeDisplayNameA (
|
|||
SetLastError (ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return (FALSE);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
|
@ -164,15 +164,13 @@ BOOL STDCALL LookupPrivilegeNameA (
|
|||
PLUID lpLuid,
|
||||
LPSTR lpName,
|
||||
LPDWORD cbName
|
||||
)
|
||||
)
|
||||
{
|
||||
SetLastError (ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return (FALSE);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
*
|
||||
* @unimplemented
|
||||
*/
|
||||
BOOL STDCALL LookupPrivilegeNameW (
|
||||
|
@ -180,11 +178,38 @@ BOOL STDCALL LookupPrivilegeNameW (
|
|||
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 */
|
||||
|
|
Loading…
Reference in a new issue