Likewise Security and Authentication Subsystem
lsa.h File Reference

LSASS Public Client API. More...

Data Structures

struct  LSA_SECURITY_OBJECT_USER_INFO
 User object info. More...
 
struct  LSA_SECURITY_OBJECT_GROUP_INFO
 User object info. More...
 
struct  LSA_SECURITY_OBJECT
 Security object. More...
 
union  LSA_QUERY_ITEM
 Query item. More...
 
union  LSA_QUERY_LIST
 Query list. More...
 

Macros

#define LSA_FIND_FLAGS_NSS
 Query with NSS semantics. More...
 
#define LSA_FIND_FLAGS_LOCAL
 Query only for local objects. More...
 
#define LSA_FIND_FLAGS_CACHE_ONLY
 Query only for cached objects. More...
 

Typedefs

typedef LW_DWORD LSA_FIND_FLAGS
 Find flags. More...
 
typedef LW_UINT8 LSA_QUERY_TYPE
 Query type.
 
typedef LSA_SECURITY_OBJECTPLSA_SECURITY_OBJECT
 Security object pointer.
 
typedef const LSA_SECURITY_OBJECTPCLSA_SECURITY_OBJECT
 Constant security object pointer.
 

Enumerations

enum  _LSA_QUERY_TYPE {
  LSA_QUERY_TYPE_UNDEFINED, LSA_QUERY_TYPE_BY_DN, LSA_QUERY_TYPE_BY_SID, LSA_QUERY_TYPE_BY_NT4,
  LSA_QUERY_TYPE_BY_UPN, LSA_QUERY_TYPE_BY_ALIAS, LSA_QUERY_TYPE_BY_UNIX_ID, LSA_QUERY_TYPE_BY_NAME
}
 Query type enumeration. More...
 
enum  _LSA_OBJECT_TYPE { LSA_OBJECT_TYPE_UNDEFINED, LSA_OBJECT_TYPE_GROUP, LSA_OBJECT_TYPE_USER }
 Object type enumeration. More...
 

Functions

LW_DWORD LsaOpenServer (LW_PHANDLE phConnection)
 Open connection to local lsass server. More...
 
DWORD LsaOpenServerThreaded (PHANDLE phConnection)
 Open connection to local lsass server (thread-safe) More...
 
LW_DWORD LsaCloseServer (LW_HANDLE hConnection)
 Closes connection to lsass server. More...
 
LW_DWORD LsaDropServer (LW_HANDLE hConnection)
 Frees a connection to lsass server. More...
 
LW_DWORD LsaFindObjects (LW_IN LW_HANDLE hLsa, LW_IN LW_PCSTR pszTargetProvider, LW_IN LSA_FIND_FLAGS FindFlags, LW_IN LW_OPTIONAL LSA_OBJECT_TYPE ObjectType, LW_IN LSA_QUERY_TYPE QueryType, LW_IN LW_DWORD dwCount, LW_IN LSA_QUERY_LIST QueryList, LW_OUT PLSA_SECURITY_OBJECT **pppObjects)
 Resolve security objects. More...
 
LW_DWORD LsaOpenEnumObjects (LW_IN LW_HANDLE hLsa, LW_IN LW_PCSTR pszTargetProvider, LW_OUT LW_PHANDLE phEnum, LW_IN LSA_FIND_FLAGS FindFlags, LW_IN LSA_OBJECT_TYPE ObjectType, LW_IN LW_OPTIONAL LW_PCSTR pszDomainName)
 Begin object enumeration. More...
 
LW_DWORD LsaEnumObjects (LW_IN LW_HANDLE hLsa, LW_IN LW_HANDLE hEnum, LW_IN LW_DWORD dwMaxObjectsCount, LW_OUT LW_PDWORD pdwObjectsCount, LW_OUT PLSA_SECURITY_OBJECT **pppObjects)
 Enumerate objects. More...
 
LW_DWORD LsaOpenEnumMembers (LW_IN LW_HANDLE hLsa, LW_IN LW_PCSTR pszTargetProvider, LW_OUT LW_PHANDLE phEnum, LW_IN LSA_FIND_FLAGS FindFlags, LW_IN LW_PCSTR pszSid)
 Begin member enumeration. More...
 
LW_DWORD LsaEnumMembers (LW_IN LW_HANDLE hLsa, LW_IN LW_HANDLE hEnum, LW_IN LW_DWORD dwMaxObjectsCount, LW_OUT LW_PDWORD pdwObjectsCount, LW_OUT LW_PSTR **pppszMember)
 Enumerate members. More...
 
LW_DWORD LsaQueryMemberOf (LW_IN LW_HANDLE hLsa, LW_IN LW_PCSTR pszTargetProvider, LW_IN LSA_FIND_FLAGS FindFlags, LW_DWORD dwSidCount, LW_IN LW_PSTR *ppszSids, LW_OUT LW_PDWORD pdwGroupSidCount, LW_OUT LW_PSTR **pppszGroupSids)
 Query group membership of objects. More...
 
LW_DWORD LsaCloseEnum (LW_IN LW_HANDLE hLsa, LW_IN LW_OUT LW_HANDLE hEnum)
 Close enumeration handle. More...
 
LW_VOID LsaFreeSidList (LW_IN LW_DWORD dwSidCount, LW_IN LW_OUT LW_PSTR *ppszSids)
 Free SID list. More...
 
LW_VOID LsaFreeSecurityObjectList (LW_IN LW_DWORD dwObjectCount, LW_IN LW_OUT PLSA_SECURITY_OBJECT *ppObjects)
 Free security object list. More...
 
LW_VOID LsaFreeSecurityObject (LW_IN LW_OUT PLSA_SECURITY_OBJECT pObject)
 Free security object. More...
 
LW_DWORD LsaQueryExpandedGroupMembers (LW_IN LW_HANDLE hLsa, LW_PCSTR pszTargetProvider, LW_IN LSA_FIND_FLAGS FindFlags, LW_IN LSA_OBJECT_TYPE ObjectType, LW_IN LW_PCSTR pszSid, LW_OUT LW_PDWORD pdwMemberCount, LW_OUT PLSA_SECURITY_OBJECT **pppMembers)
 Query expanded group membership. More...
 
LW_DWORD LsaFindGroupAndExpandedMembers (LW_IN LW_HANDLE hLsa, LW_PCSTR pszTargetProvider, LW_IN LSA_FIND_FLAGS FindFlags, LW_IN LSA_QUERY_TYPE QueryType, LW_IN LSA_QUERY_ITEM QueryItem, LW_OUT PLSA_SECURITY_OBJECT *ppGroupObject, LW_OUT LW_PDWORD pdwMemberObjectCount, LW_OUT PLSA_SECURITY_OBJECT **pppMemberObjects)
 Find group and its expanded membership list. More...