2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS system libraries
4 * FILE: lib/advapi32/sec/trustee.c
5 * PURPOSE: Trustee functions
10 /******************************************************************************
11 * BuildImpersonateTrusteeA [ADVAPI32.@]
14 BuildImpersonateTrusteeA(PTRUSTEE_A pTrustee
,
15 PTRUSTEE_A pImpersonateTrustee
)
17 pTrustee
->pMultipleTrustee
= pImpersonateTrustee
;
18 pTrustee
->MultipleTrusteeOperation
= TRUSTEE_IS_IMPERSONATE
;
22 /******************************************************************************
23 * BuildImpersonateTrusteeW [ADVAPI32.@]
26 BuildImpersonateTrusteeW(PTRUSTEE_W pTrustee
,
27 PTRUSTEE_W pImpersonateTrustee
)
29 pTrustee
->pMultipleTrustee
= pImpersonateTrustee
;
30 pTrustee
->MultipleTrusteeOperation
= TRUSTEE_IS_IMPERSONATE
;
33 /******************************************************************************
34 * BuildImpersonateExplicitAccessWithNameA [ADVAPI32.@]
37 BuildImpersonateExplicitAccessWithNameA(PEXPLICIT_ACCESS_A pExplicitAccess
,
40 DWORD AccessPermissions
,
41 ACCESS_MODE AccessMode
,
44 pExplicitAccess
->grfAccessPermissions
= AccessPermissions
;
45 pExplicitAccess
->grfAccessMode
= AccessMode
;
46 pExplicitAccess
->grfInheritance
= Inheritance
;
48 pExplicitAccess
->Trustee
.pMultipleTrustee
= pTrustee
;
49 pExplicitAccess
->Trustee
.MultipleTrusteeOperation
= TRUSTEE_IS_IMPERSONATE
;
50 pExplicitAccess
->Trustee
.TrusteeForm
= TRUSTEE_IS_NAME
;
51 pExplicitAccess
->Trustee
.TrusteeType
= TRUSTEE_IS_UNKNOWN
;
52 pExplicitAccess
->Trustee
.ptstrName
= pTrusteeName
;
56 /******************************************************************************
57 * BuildImpersonateExplicitAccessWithNameW [ADVAPI32.@]
60 BuildImpersonateExplicitAccessWithNameW(PEXPLICIT_ACCESS_W pExplicitAccess
,
63 DWORD AccessPermissions
,
64 ACCESS_MODE AccessMode
,
67 pExplicitAccess
->grfAccessPermissions
= AccessPermissions
;
68 pExplicitAccess
->grfAccessMode
= AccessMode
;
69 pExplicitAccess
->grfInheritance
= Inheritance
;
71 pExplicitAccess
->Trustee
.pMultipleTrustee
= pTrustee
;
72 pExplicitAccess
->Trustee
.MultipleTrusteeOperation
= TRUSTEE_IS_IMPERSONATE
;
73 pExplicitAccess
->Trustee
.TrusteeForm
= TRUSTEE_IS_NAME
;
74 pExplicitAccess
->Trustee
.TrusteeType
= TRUSTEE_IS_UNKNOWN
;
75 pExplicitAccess
->Trustee
.ptstrName
= pTrusteeName
;
78 /******************************************************************************
79 * GetMultipleTrusteeA [ADVAPI32.@]
82 GetMultipleTrusteeA(PTRUSTEE_A pTrustee
)
84 return pTrustee
->pMultipleTrustee
;
88 /******************************************************************************
89 * GetMultipleTrusteeW [ADVAPI32.@]
92 GetMultipleTrusteeW(PTRUSTEE_W pTrustee
)
94 return pTrustee
->pMultipleTrustee
;
98 /******************************************************************************
99 * GetMultipleTrusteeOperationA [ADVAPI32.@]
101 MULTIPLE_TRUSTEE_OPERATION WINAPI
102 GetMultipleTrusteeOperationA(PTRUSTEE_A pTrustee
)
104 return pTrustee
->MultipleTrusteeOperation
;
108 /******************************************************************************
109 * GetMultipleTrusteeOperationW [ADVAPI32.@]
111 MULTIPLE_TRUSTEE_OPERATION WINAPI
112 GetMultipleTrusteeOperationW(PTRUSTEE_W pTrustee
)
114 return pTrustee
->MultipleTrusteeOperation
;