2005-05-09 01:43:41 +00:00
|
|
|
/* $Id$
|
2001-03-17 22:05:25 +00:00
|
|
|
*
|
|
|
|
* COPYRIGHT: See COPYING in the top level directory
|
|
|
|
* PROJECT: ReactOS system libraries
|
|
|
|
* FILE: lib/advapi32/token/privilege.c
|
|
|
|
* PURPOSE: advapi32.dll token's privilege handling
|
|
|
|
* PROGRAMMER: E.Aliberti
|
|
|
|
* UPDATE HISTORY:
|
|
|
|
* 20010317 ea stubs
|
|
|
|
*/
|
2004-03-25 11:30:07 +00:00
|
|
|
|
2005-08-05 10:31:28 +00:00
|
|
|
#include <advapi32.h>
|
2001-03-17 22:05:25 +00:00
|
|
|
|
|
|
|
|
2003-07-20 15:16:51 +00:00
|
|
|
/**********************************************************************
|
|
|
|
* PrivilegeCheck EXPORTED
|
|
|
|
*
|
|
|
|
* @implemented
|
|
|
|
*/
|
2008-11-30 11:42:05 +00:00
|
|
|
BOOL WINAPI
|
2008-09-21 13:55:53 +00:00
|
|
|
PrivilegeCheck(HANDLE ClientToken,
|
|
|
|
PPRIVILEGE_SET RequiredPrivileges,
|
|
|
|
LPBOOL pfResult)
|
2003-07-20 15:16:51 +00:00
|
|
|
{
|
2008-09-21 13:55:53 +00:00
|
|
|
BOOLEAN Result;
|
|
|
|
NTSTATUS Status;
|
2003-07-20 15:16:51 +00:00
|
|
|
|
2008-09-21 13:55:53 +00:00
|
|
|
Status = NtPrivilegeCheck(ClientToken,
|
|
|
|
RequiredPrivileges,
|
|
|
|
&Result);
|
|
|
|
if (!NT_SUCCESS(Status))
|
2003-07-20 15:16:51 +00:00
|
|
|
{
|
2008-09-21 13:55:53 +00:00
|
|
|
SetLastError(RtlNtStatusToDosError(Status));
|
|
|
|
return FALSE;
|
2003-07-20 15:16:51 +00:00
|
|
|
}
|
|
|
|
|
2008-09-21 13:55:53 +00:00
|
|
|
*pfResult = (BOOL)Result;
|
2003-07-20 15:16:51 +00:00
|
|
|
|
2008-09-21 13:55:53 +00:00
|
|
|
return TRUE;
|
2003-07-20 15:16:51 +00:00
|
|
|
}
|
2001-03-17 22:05:25 +00:00
|
|
|
|
|
|
|
/* EOF */
|