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
9 WINE_DEFAULT_DEBUG_CHANNEL(advapi
);
12 /******************************************************************************
13 * BuildImpersonateTrusteeA [ADVAPI32.@]
16 BuildImpersonateTrusteeA(PTRUSTEE_A pTrustee
,
17 PTRUSTEE_A pImpersonateTrustee
)
19 pTrustee
->pMultipleTrustee
= pImpersonateTrustee
;
20 pTrustee
->MultipleTrusteeOperation
= TRUSTEE_IS_IMPERSONATE
;
24 /******************************************************************************
25 * BuildImpersonateTrusteeW [ADVAPI32.@]
28 BuildImpersonateTrusteeW(PTRUSTEE_W pTrustee
,
29 PTRUSTEE_W pImpersonateTrustee
)
31 pTrustee
->pMultipleTrustee
= pImpersonateTrustee
;
32 pTrustee
->MultipleTrusteeOperation
= TRUSTEE_IS_IMPERSONATE
;
35 /******************************************************************************
36 * BuildImpersonateExplicitAccessWithNameA [ADVAPI32.@]
39 BuildImpersonateExplicitAccessWithNameA(PEXPLICIT_ACCESS_A pExplicitAccess
,
42 DWORD AccessPermissions
,
43 ACCESS_MODE AccessMode
,
46 pExplicitAccess
->grfAccessPermissions
= AccessPermissions
;
47 pExplicitAccess
->grfAccessMode
= AccessMode
;
48 pExplicitAccess
->grfInheritance
= Inheritance
;
50 pExplicitAccess
->Trustee
.pMultipleTrustee
= pTrustee
;
51 pExplicitAccess
->Trustee
.MultipleTrusteeOperation
= TRUSTEE_IS_IMPERSONATE
;
52 pExplicitAccess
->Trustee
.TrusteeForm
= TRUSTEE_IS_NAME
;
53 pExplicitAccess
->Trustee
.TrusteeType
= TRUSTEE_IS_UNKNOWN
;
54 pExplicitAccess
->Trustee
.ptstrName
= pTrusteeName
;
58 /******************************************************************************
59 * BuildImpersonateExplicitAccessWithNameW [ADVAPI32.@]
62 BuildImpersonateExplicitAccessWithNameW(PEXPLICIT_ACCESS_W pExplicitAccess
,
65 DWORD AccessPermissions
,
66 ACCESS_MODE AccessMode
,
69 pExplicitAccess
->grfAccessPermissions
= AccessPermissions
;
70 pExplicitAccess
->grfAccessMode
= AccessMode
;
71 pExplicitAccess
->grfInheritance
= Inheritance
;
73 pExplicitAccess
->Trustee
.pMultipleTrustee
= pTrustee
;
74 pExplicitAccess
->Trustee
.MultipleTrusteeOperation
= TRUSTEE_IS_IMPERSONATE
;
75 pExplicitAccess
->Trustee
.TrusteeForm
= TRUSTEE_IS_NAME
;
76 pExplicitAccess
->Trustee
.TrusteeType
= TRUSTEE_IS_UNKNOWN
;
77 pExplicitAccess
->Trustee
.ptstrName
= pTrusteeName
;
80 /******************************************************************************
81 * GetMultipleTrusteeA [ADVAPI32.@]
84 GetMultipleTrusteeA(PTRUSTEE_A pTrustee
)
86 return pTrustee
->pMultipleTrustee
;
90 /******************************************************************************
91 * GetMultipleTrusteeW [ADVAPI32.@]
94 GetMultipleTrusteeW(PTRUSTEE_W pTrustee
)
96 return pTrustee
->pMultipleTrustee
;
100 /******************************************************************************
101 * GetMultipleTrusteeOperationA [ADVAPI32.@]
103 MULTIPLE_TRUSTEE_OPERATION WINAPI
104 GetMultipleTrusteeOperationA(PTRUSTEE_A pTrustee
)
106 return pTrustee
->MultipleTrusteeOperation
;
110 /******************************************************************************
111 * GetMultipleTrusteeOperationW [ADVAPI32.@]
113 MULTIPLE_TRUSTEE_OPERATION WINAPI
114 GetMultipleTrusteeOperationW(PTRUSTEE_W pTrustee
)
116 return pTrustee
->MultipleTrusteeOperation
;