uLib  User mode C/C++ extended API library for Win32 programmers.
UmLsa.cpp File Reference
#include <uLib/UtilFunc.h>
#include <uLib/StrFunc.h>
#include <uLib/Debug.h>
#include <uLib/UmLsa.h>

Go to the source code of this file.

Classes

struct  PRIVILEGE_ITEM
 

Namespaces

 uLib
 

Macros

#define _INIT_FP_   1
 
#define HPRIVILEGE_VER   2
 
#define SID_NAME_NONE   SID_NAME_USE(0)
 
#define _OK_   SUCCEEDED
 

Functions

bool InitLsaFunc ()
 
bool OpenLsaPolicy (CSTR Machine, ACCESS_MASK Access, PLSA_HANDLE phPolicy)
 
LSA_HANDLE LsaCloseEx (LSA_HANDLE hLsa)
 
PSID GetAdminGroupSid ()
 
bool GetAccountSid (CSTR Machine, CSTR Account, PSID *ppSid)
 
PSID FreeAccountSid (PSID Sid)
 
PSID GetCurrentUserSid ()
 
bool GetLogonSid (HANDLE hToken, PSID *ppSid)
 
PSID FreeLogonSid (PSID Sid)
 
PISECURITY_DESCRIPTOR AllocAbsoluteSecDesc (size_t cbDesc)
 
PISECURITY_DESCRIPTOR MakeAbsoluteSecDesc (PSID Owner, PSID Group, PACL Sacl, PACL Dacl, SECURITY_DESCRIPTOR_CONTROL Control)
 
PISECURITY_DESCRIPTOR_RELATIVE GetObjectSecDesc (HANDLE hObj, SECURITY_INFORMATION Type, PDWORD cbDesc)
 
PSECURITY_DESCRIPTOR FreeObjectSecDesc (PSECURITY_DESCRIPTOR pSecDesc)
 
PACL GetObjectAcl (HANDLE hObj, SECURITY_INFORMATION Type, size_t cbExtra, PSECURITY_DESCRIPTOR *ppSecDesc, PDWORD cbSecDesc)
 
PACL FreeObjectAcl (PACL pDacl)
 
bool SetAccountSystemAccess (LSA_HANDLE hPolicy, PSID AcctSid, ACCESS_MASK AccsType, bool Add)
 
bool GetAccountSystemAccess (LSA_HANDLE hPolicy, PSID AcctSid, ACCESS_MASK *Access)
 
bool SetAccountPrivilege (LSA_HANDLE hPolicy, PSID AcctSid, CSTR Privilege, bool Add)
 
bool ULSA_AccountHasPrivilege (LSA_HANDLE hPolicy, PSID AcctSid, WCSTR Privilege)
 
bool AccountHasPrivilege (LSA_HANDLE hPolicy, PSID AcctSid, CSTR Privilege)
 
bool UserHasPrivilege (LSA_HANDLE hPolicy, PSID userSid, CSTR Privilege)
 
HANDLE GetPrivilegeToken (HPRIVILEGE hPriv)
 
HPRIVILEGE SetThreadPrivilegeEx (CSTR Privilege)
 
HPRIVILEGE RestoreThreadPrivilege (HPRIVILEGE hPrv)
 

Class Documentation

◆ PRIVILEGE_ITEM

struct PRIVILEGE_ITEM

Definition at line 783 of file UmLsa.cpp.

Class Members
HTOKENEX hToken
PSID userSid
CSTR Name
bool held
bool added
bool enabled
BYTE _rsv
TOKEN_PRIVILEGES oldPrv

Macro Definition Documentation

◆ _INIT_FP_

#define _INIT_FP_   1

Definition at line 12 of file UmLsa.cpp.

◆ HPRIVILEGE_VER

#define HPRIVILEGE_VER   2

Definition at line 685 of file UmLsa.cpp.

◆ SID_NAME_NONE

#define SID_NAME_NONE   SID_NAME_USE(0)

Definition at line 996 of file UmLsa.cpp.

◆ _OK_

#define _OK_   SUCCEEDED

Function Documentation

◆ GetObjectAcl()

PACL GetObjectAcl ( HANDLE  hObj,
SECURITY_INFORMATION  Type,
size_t  cbExtra,
PSECURITY_DESCRIPTOR *  ppSecDesc,
PDWORD  cbSecDesc 
)

Definition at line 399 of file UmLsa.cpp.

◆ ULSA_AccountHasPrivilege()

bool ULSA_AccountHasPrivilege ( LSA_HANDLE  hPolicy,
PSID  AcctSid,
WCSTR  Privilege 
)

Definition at line 569 of file UmLsa.cpp.

◆ UserHasPrivilege()

bool UserHasPrivilege ( LSA_HANDLE  hPolicy,
PSID  userSid,
CSTR  Privilege 
)

Definition at line 614 of file UmLsa.cpp.