From: Amine Khaldi Date: Sat, 25 Oct 2014 12:45:57 +0000 (+0000) Subject: [ADVAPI32] X-Git-Tag: backups/tcpip_revolution@71025~274 X-Git-Url: https://git.reactos.org/?p=reactos.git;a=commitdiff_plain;h=648ce226ac9486cfcc71b7d867f12d9356a56de9 [ADVAPI32] * Move some functions from trustee.c to security.c. CORE-8540 svn path=/trunk/; revision=64979 --- diff --git a/reactos/dll/win32/advapi32/sec/trustee.c b/reactos/dll/win32/advapi32/sec/trustee.c index 9b62f7954aa..a889cc9e6ab 100644 --- a/reactos/dll/win32/advapi32/sec/trustee.c +++ b/reactos/dll/win32/advapi32/sec/trustee.c @@ -32,51 +32,6 @@ BuildImpersonateTrusteeW(PTRUSTEE_W pTrustee, pTrustee->MultipleTrusteeOperation = TRUSTEE_IS_IMPERSONATE; } - -/****************************************************************************** - * BuildExplicitAccessWithNameA [ADVAPI32.@] - */ -VOID WINAPI -BuildExplicitAccessWithNameA(PEXPLICIT_ACCESSA pExplicitAccess, - LPSTR pTrusteeName, - DWORD AccessPermissions, - ACCESS_MODE AccessMode, - DWORD Inheritance) -{ - pExplicitAccess->grfAccessPermissions = AccessPermissions; - pExplicitAccess->grfAccessMode = AccessMode; - pExplicitAccess->grfInheritance = Inheritance; - - pExplicitAccess->Trustee.pMultipleTrustee = NULL; - pExplicitAccess->Trustee.MultipleTrusteeOperation = NO_MULTIPLE_TRUSTEE; - pExplicitAccess->Trustee.TrusteeForm = TRUSTEE_IS_NAME; - pExplicitAccess->Trustee.TrusteeType = TRUSTEE_IS_UNKNOWN; - pExplicitAccess->Trustee.ptstrName = pTrusteeName; -} - - -/****************************************************************************** - * BuildExplicitAccessWithNameW [ADVAPI32.@] - */ -VOID WINAPI -BuildExplicitAccessWithNameW(PEXPLICIT_ACCESSW pExplicitAccess, - LPWSTR pTrusteeName, - DWORD AccessPermissions, - ACCESS_MODE AccessMode, - DWORD Inheritance) -{ - pExplicitAccess->grfAccessPermissions = AccessPermissions; - pExplicitAccess->grfAccessMode = AccessMode; - pExplicitAccess->grfInheritance = Inheritance; - - pExplicitAccess->Trustee.pMultipleTrustee = NULL; - pExplicitAccess->Trustee.MultipleTrusteeOperation = NO_MULTIPLE_TRUSTEE; - pExplicitAccess->Trustee.TrusteeForm = TRUSTEE_IS_NAME; - pExplicitAccess->Trustee.TrusteeType = TRUSTEE_IS_UNKNOWN; - pExplicitAccess->Trustee.ptstrName = pTrusteeName; -} - - /****************************************************************************** * BuildImpersonateExplicitAccessWithNameA [ADVAPI32.@] */ @@ -122,255 +77,6 @@ BuildImpersonateExplicitAccessWithNameW(PEXPLICIT_ACCESS_W pExplicitAccess, pExplicitAccess->Trustee.ptstrName = pTrusteeName; } - -/****************************************************************************** - * BuildTrusteeWithSidA [ADVAPI32.@] - */ -VOID WINAPI -BuildTrusteeWithSidA(PTRUSTEE_A pTrustee, - PSID pSid) -{ - TRACE("%p %p\n", pTrustee, pSid); - - pTrustee->pMultipleTrustee = NULL; - pTrustee->MultipleTrusteeOperation = NO_MULTIPLE_TRUSTEE; - pTrustee->TrusteeForm = TRUSTEE_IS_SID; - pTrustee->TrusteeType = TRUSTEE_IS_UNKNOWN; - pTrustee->ptstrName = (LPSTR) pSid; -} - - -/****************************************************************************** - * BuildTrusteeWithSidW [ADVAPI32.@] - */ -VOID WINAPI -BuildTrusteeWithSidW(PTRUSTEE_W pTrustee, - PSID pSid) -{ - TRACE("%p %p\n", pTrustee, pSid); - - pTrustee->pMultipleTrustee = NULL; - pTrustee->MultipleTrusteeOperation = NO_MULTIPLE_TRUSTEE; - pTrustee->TrusteeForm = TRUSTEE_IS_SID; - pTrustee->TrusteeType = TRUSTEE_IS_UNKNOWN; - pTrustee->ptstrName = (LPWSTR) pSid; -} - - -/****************************************************************************** - * BuildTrusteeWithNameA [ADVAPI32.@] - */ -VOID WINAPI -BuildTrusteeWithNameA(PTRUSTEE_A pTrustee, - LPSTR name) -{ - TRACE("%p %s\n", pTrustee, name); - - pTrustee->pMultipleTrustee = NULL; - pTrustee->MultipleTrusteeOperation = NO_MULTIPLE_TRUSTEE; - pTrustee->TrusteeForm = TRUSTEE_IS_NAME; - pTrustee->TrusteeType = TRUSTEE_IS_UNKNOWN; - pTrustee->ptstrName = name; -} - - -/****************************************************************************** - * BuildTrusteeWithNameW [ADVAPI32.@] - */ -VOID WINAPI -BuildTrusteeWithNameW(PTRUSTEE_W pTrustee, - LPWSTR name) -{ - TRACE("%p %s\n", pTrustee, name); - - pTrustee->pMultipleTrustee = NULL; - pTrustee->MultipleTrusteeOperation = NO_MULTIPLE_TRUSTEE; - pTrustee->TrusteeForm = TRUSTEE_IS_NAME; - pTrustee->TrusteeType = TRUSTEE_IS_UNKNOWN; - pTrustee->ptstrName = name; -} - - -/****************************************************************************** - * BuildTrusteeWithObjectsAndNameA [ADVAPI32.@] - */ -VOID WINAPI -BuildTrusteeWithObjectsAndNameA(PTRUSTEEA pTrustee, - POBJECTS_AND_NAME_A pObjName, - SE_OBJECT_TYPE ObjectType, - LPSTR ObjectTypeName, - LPSTR InheritedObjectTypeName, - LPSTR Name) -{ - DWORD ObjectsPresent = 0; - - TRACE("%p %p 0x%08x %p %p %s\n", pTrustee, pObjName, - ObjectType, ObjectTypeName, InheritedObjectTypeName, Name); - - /* Fill the OBJECTS_AND_NAME structure */ - pObjName->ObjectType = ObjectType; - if (ObjectTypeName != NULL) - { - ObjectsPresent |= ACE_OBJECT_TYPE_PRESENT; - } - - pObjName->InheritedObjectTypeName = InheritedObjectTypeName; - if (InheritedObjectTypeName != NULL) - { - ObjectsPresent |= ACE_INHERITED_OBJECT_TYPE_PRESENT; - } - - pObjName->ObjectsPresent = ObjectsPresent; - pObjName->ptstrName = Name; - - /* Fill the TRUSTEE structure */ - pTrustee->pMultipleTrustee = NULL; - pTrustee->MultipleTrusteeOperation = NO_MULTIPLE_TRUSTEE; - pTrustee->TrusteeForm = TRUSTEE_IS_OBJECTS_AND_NAME; - pTrustee->TrusteeType = TRUSTEE_IS_UNKNOWN; - pTrustee->ptstrName = (LPSTR)pObjName; -} - - -/****************************************************************************** - * BuildTrusteeWithObjectsAndNameW [ADVAPI32.@] - */ -VOID WINAPI -BuildTrusteeWithObjectsAndNameW(PTRUSTEEW pTrustee, - POBJECTS_AND_NAME_W pObjName, - SE_OBJECT_TYPE ObjectType, - LPWSTR ObjectTypeName, - LPWSTR InheritedObjectTypeName, - LPWSTR Name) -{ - DWORD ObjectsPresent = 0; - - TRACE("%p %p 0x%08x %p %p %s\n", pTrustee, pObjName, - ObjectType, ObjectTypeName, InheritedObjectTypeName, Name); - - /* Fill the OBJECTS_AND_NAME structure */ - pObjName->ObjectType = ObjectType; - if (ObjectTypeName != NULL) - { - ObjectsPresent |= ACE_OBJECT_TYPE_PRESENT; - } - - pObjName->InheritedObjectTypeName = InheritedObjectTypeName; - if (InheritedObjectTypeName != NULL) - { - ObjectsPresent |= ACE_INHERITED_OBJECT_TYPE_PRESENT; - } - - pObjName->ObjectsPresent = ObjectsPresent; - pObjName->ptstrName = Name; - - /* Fill the TRUSTEE structure */ - pTrustee->pMultipleTrustee = NULL; - pTrustee->MultipleTrusteeOperation = NO_MULTIPLE_TRUSTEE; - pTrustee->TrusteeForm = TRUSTEE_IS_OBJECTS_AND_NAME; - pTrustee->TrusteeType = TRUSTEE_IS_UNKNOWN; - pTrustee->ptstrName = (LPWSTR)pObjName; -} - - -/****************************************************************************** - * BuildTrusteeWithObjectsAndSidA [ADVAPI32.@] - */ -VOID WINAPI -BuildTrusteeWithObjectsAndSidA(PTRUSTEEA pTrustee, - POBJECTS_AND_SID pObjSid, - GUID *pObjectGuid, - GUID *pInheritedObjectGuid, - PSID pSid) -{ - DWORD ObjectsPresent = 0; - - TRACE("%p %p %p %p %p\n", pTrustee, pObjSid, pObjectGuid, pInheritedObjectGuid, pSid); - - /* Fill the OBJECTS_AND_SID structure */ - if (pObjectGuid != NULL) - { - pObjSid->ObjectTypeGuid = *pObjectGuid; - ObjectsPresent |= ACE_OBJECT_TYPE_PRESENT; - } - else - { - ZeroMemory(&pObjSid->ObjectTypeGuid, - sizeof(GUID)); - } - - if (pInheritedObjectGuid != NULL) - { - pObjSid->InheritedObjectTypeGuid = *pInheritedObjectGuid; - ObjectsPresent |= ACE_INHERITED_OBJECT_TYPE_PRESENT; - } - else - { - ZeroMemory(&pObjSid->InheritedObjectTypeGuid, - sizeof(GUID)); - } - - pObjSid->ObjectsPresent = ObjectsPresent; - pObjSid->pSid = pSid; - - /* Fill the TRUSTEE structure */ - pTrustee->pMultipleTrustee = NULL; - pTrustee->MultipleTrusteeOperation = NO_MULTIPLE_TRUSTEE; - pTrustee->TrusteeForm = TRUSTEE_IS_OBJECTS_AND_SID; - pTrustee->TrusteeType = TRUSTEE_IS_UNKNOWN; - pTrustee->ptstrName = (LPSTR) pObjSid; -} - - -/****************************************************************************** - * BuildTrusteeWithObjectsAndSidW [ADVAPI32.@] - */ -VOID WINAPI -BuildTrusteeWithObjectsAndSidW(PTRUSTEEW pTrustee, - POBJECTS_AND_SID pObjSid, - GUID *pObjectGuid, - GUID *pInheritedObjectGuid, - PSID pSid) -{ - DWORD ObjectsPresent = 0; - - TRACE("%p %p %p %p %p\n", pTrustee, pObjSid, pObjectGuid, pInheritedObjectGuid, pSid); - - /* Fill the OBJECTS_AND_SID structure */ - if (pObjectGuid != NULL) - { - pObjSid->ObjectTypeGuid = *pObjectGuid; - ObjectsPresent |= ACE_OBJECT_TYPE_PRESENT; - } - else - { - ZeroMemory(&pObjSid->ObjectTypeGuid, - sizeof(GUID)); - } - - if (pInheritedObjectGuid != NULL) - { - pObjSid->InheritedObjectTypeGuid = *pInheritedObjectGuid; - ObjectsPresent |= ACE_INHERITED_OBJECT_TYPE_PRESENT; - } - else - { - ZeroMemory(&pObjSid->InheritedObjectTypeGuid, - sizeof(GUID)); - } - - pObjSid->ObjectsPresent = ObjectsPresent; - pObjSid->pSid = pSid; - - /* Fill the TRUSTEE structure */ - pTrustee->pMultipleTrustee = NULL; - pTrustee->MultipleTrusteeOperation = NO_MULTIPLE_TRUSTEE; - pTrustee->TrusteeForm = TRUSTEE_IS_OBJECTS_AND_SID; - pTrustee->TrusteeType = TRUSTEE_IS_UNKNOWN; - pTrustee->ptstrName = (LPWSTR) pObjSid; -} - - /****************************************************************************** * GetMultipleTrusteeA [ADVAPI32.@] */ @@ -410,64 +116,4 @@ GetMultipleTrusteeOperationW(PTRUSTEE_W pTrustee) return pTrustee->MultipleTrusteeOperation; } - -/****************************************************************************** - * GetTrusteeFormW [ADVAPI32.@] - */ -TRUSTEE_FORM WINAPI -GetTrusteeFormA(PTRUSTEE_A pTrustee) -{ - return pTrustee->TrusteeForm; -} - - -/****************************************************************************** - * GetTrusteeFormW [ADVAPI32.@] - */ -TRUSTEE_FORM WINAPI -GetTrusteeFormW(PTRUSTEE_W pTrustee) -{ - return pTrustee->TrusteeForm; -} - - -/****************************************************************************** - * GetTrusteeNameA [ADVAPI32.@] - */ -LPSTR WINAPI -GetTrusteeNameA(PTRUSTEE_A pTrustee) -{ - return pTrustee->ptstrName; -} - - -/****************************************************************************** - * GetTrusteeNameW [ADVAPI32.@] - */ -LPWSTR WINAPI -GetTrusteeNameW(PTRUSTEE_W pTrustee) -{ - return pTrustee->ptstrName; -} - - -/****************************************************************************** - * GetTrusteeTypeA [ADVAPI32.@] - */ -TRUSTEE_TYPE WINAPI -GetTrusteeTypeA(PTRUSTEE_A pTrustee) -{ - return pTrustee->TrusteeType; -} - - -/****************************************************************************** - * GetTrusteeTypeW [ADVAPI32.@] - */ -TRUSTEE_TYPE WINAPI -GetTrusteeTypeW(PTRUSTEE_W pTrustee) -{ - return pTrustee->TrusteeType; -} - /* EOF */ diff --git a/reactos/dll/win32/advapi32/wine/security.c b/reactos/dll/win32/advapi32/wine/security.c index c3364a9d473..1b77f36eb7d 100644 --- a/reactos/dll/win32/advapi32/wine/security.c +++ b/reactos/dll/win32/advapi32/wine/security.c @@ -1813,6 +1813,339 @@ GetSecurityInfoExW(HANDLE hObject, return ERROR_BAD_PROVIDER; } +/****************************************************************************** + * BuildExplicitAccessWithNameA [ADVAPI32.@] + */ +VOID WINAPI +BuildExplicitAccessWithNameA(PEXPLICIT_ACCESSA pExplicitAccess, + LPSTR pTrusteeName, + DWORD AccessPermissions, + ACCESS_MODE AccessMode, + DWORD Inheritance) +{ + pExplicitAccess->grfAccessPermissions = AccessPermissions; + pExplicitAccess->grfAccessMode = AccessMode; + pExplicitAccess->grfInheritance = Inheritance; + + pExplicitAccess->Trustee.pMultipleTrustee = NULL; + pExplicitAccess->Trustee.MultipleTrusteeOperation = NO_MULTIPLE_TRUSTEE; + pExplicitAccess->Trustee.TrusteeForm = TRUSTEE_IS_NAME; + pExplicitAccess->Trustee.TrusteeType = TRUSTEE_IS_UNKNOWN; + pExplicitAccess->Trustee.ptstrName = pTrusteeName; +} + + +/****************************************************************************** + * BuildExplicitAccessWithNameW [ADVAPI32.@] + */ +VOID WINAPI +BuildExplicitAccessWithNameW(PEXPLICIT_ACCESSW pExplicitAccess, + LPWSTR pTrusteeName, + DWORD AccessPermissions, + ACCESS_MODE AccessMode, + DWORD Inheritance) +{ + pExplicitAccess->grfAccessPermissions = AccessPermissions; + pExplicitAccess->grfAccessMode = AccessMode; + pExplicitAccess->grfInheritance = Inheritance; + + pExplicitAccess->Trustee.pMultipleTrustee = NULL; + pExplicitAccess->Trustee.MultipleTrusteeOperation = NO_MULTIPLE_TRUSTEE; + pExplicitAccess->Trustee.TrusteeForm = TRUSTEE_IS_NAME; + pExplicitAccess->Trustee.TrusteeType = TRUSTEE_IS_UNKNOWN; + pExplicitAccess->Trustee.ptstrName = pTrusteeName; +} + +/****************************************************************************** + * BuildTrusteeWithObjectsAndNameA [ADVAPI32.@] + */ +VOID WINAPI BuildTrusteeWithObjectsAndNameA( PTRUSTEEA pTrustee, POBJECTS_AND_NAME_A pObjName, + SE_OBJECT_TYPE ObjectType, LPSTR ObjectTypeName, + LPSTR InheritedObjectTypeName, LPSTR Name ) +{ + DWORD ObjectsPresent = 0; + + TRACE("%p %p 0x%08x %p %p %s\n", pTrustee, pObjName, + ObjectType, ObjectTypeName, InheritedObjectTypeName, debugstr_a(Name)); + + /* Fill the OBJECTS_AND_NAME structure */ + pObjName->ObjectType = ObjectType; + if (ObjectTypeName != NULL) + { + ObjectsPresent |= ACE_OBJECT_TYPE_PRESENT; + } + + pObjName->InheritedObjectTypeName = InheritedObjectTypeName; + if (InheritedObjectTypeName != NULL) + { + ObjectsPresent |= ACE_INHERITED_OBJECT_TYPE_PRESENT; + } + + pObjName->ObjectsPresent = ObjectsPresent; + pObjName->ptstrName = Name; + + /* Fill the TRUSTEE structure */ + pTrustee->pMultipleTrustee = NULL; + pTrustee->MultipleTrusteeOperation = NO_MULTIPLE_TRUSTEE; + pTrustee->TrusteeForm = TRUSTEE_IS_OBJECTS_AND_NAME; + pTrustee->TrusteeType = TRUSTEE_IS_UNKNOWN; + pTrustee->ptstrName = (LPSTR)pObjName; +} + +/****************************************************************************** + * BuildTrusteeWithObjectsAndNameW [ADVAPI32.@] + */ +VOID WINAPI BuildTrusteeWithObjectsAndNameW( PTRUSTEEW pTrustee, POBJECTS_AND_NAME_W pObjName, + SE_OBJECT_TYPE ObjectType, LPWSTR ObjectTypeName, + LPWSTR InheritedObjectTypeName, LPWSTR Name ) +{ + DWORD ObjectsPresent = 0; + + TRACE("%p %p 0x%08x %p %p %s\n", pTrustee, pObjName, + ObjectType, ObjectTypeName, InheritedObjectTypeName, debugstr_w(Name)); + + /* Fill the OBJECTS_AND_NAME structure */ + pObjName->ObjectType = ObjectType; + if (ObjectTypeName != NULL) + { + ObjectsPresent |= ACE_OBJECT_TYPE_PRESENT; + } + + pObjName->InheritedObjectTypeName = InheritedObjectTypeName; + if (InheritedObjectTypeName != NULL) + { + ObjectsPresent |= ACE_INHERITED_OBJECT_TYPE_PRESENT; + } + + pObjName->ObjectsPresent = ObjectsPresent; + pObjName->ptstrName = Name; + + /* Fill the TRUSTEE structure */ + pTrustee->pMultipleTrustee = NULL; + pTrustee->MultipleTrusteeOperation = NO_MULTIPLE_TRUSTEE; + pTrustee->TrusteeForm = TRUSTEE_IS_OBJECTS_AND_NAME; + pTrustee->TrusteeType = TRUSTEE_IS_UNKNOWN; + pTrustee->ptstrName = (LPWSTR)pObjName; +} + +/****************************************************************************** + * BuildTrusteeWithObjectsAndSidA [ADVAPI32.@] + */ +VOID WINAPI +BuildTrusteeWithObjectsAndSidA(PTRUSTEEA pTrustee, + POBJECTS_AND_SID pObjSid, + GUID *pObjectGuid, + GUID *pInheritedObjectGuid, + PSID pSid) +{ + DWORD ObjectsPresent = 0; + + TRACE("%p %p %p %p %p\n", pTrustee, pObjSid, pObjectGuid, pInheritedObjectGuid, pSid); + + /* Fill the OBJECTS_AND_SID structure */ + if (pObjectGuid != NULL) + { + pObjSid->ObjectTypeGuid = *pObjectGuid; + ObjectsPresent |= ACE_OBJECT_TYPE_PRESENT; + } + else + { + ZeroMemory(&pObjSid->ObjectTypeGuid, + sizeof(GUID)); + } + + if (pInheritedObjectGuid != NULL) + { + pObjSid->InheritedObjectTypeGuid = *pInheritedObjectGuid; + ObjectsPresent |= ACE_INHERITED_OBJECT_TYPE_PRESENT; + } + else + { + ZeroMemory(&pObjSid->InheritedObjectTypeGuid, + sizeof(GUID)); + } + + pObjSid->ObjectsPresent = ObjectsPresent; + pObjSid->pSid = pSid; + + /* Fill the TRUSTEE structure */ + pTrustee->pMultipleTrustee = NULL; + pTrustee->MultipleTrusteeOperation = NO_MULTIPLE_TRUSTEE; + pTrustee->TrusteeForm = TRUSTEE_IS_OBJECTS_AND_SID; + pTrustee->TrusteeType = TRUSTEE_IS_UNKNOWN; + pTrustee->ptstrName = (LPSTR) pObjSid; +} + + +/****************************************************************************** + * BuildTrusteeWithObjectsAndSidW [ADVAPI32.@] + */ +VOID WINAPI +BuildTrusteeWithObjectsAndSidW(PTRUSTEEW pTrustee, + POBJECTS_AND_SID pObjSid, + GUID *pObjectGuid, + GUID *pInheritedObjectGuid, + PSID pSid) +{ + DWORD ObjectsPresent = 0; + + TRACE("%p %p %p %p %p\n", pTrustee, pObjSid, pObjectGuid, pInheritedObjectGuid, pSid); + + /* Fill the OBJECTS_AND_SID structure */ + if (pObjectGuid != NULL) + { + pObjSid->ObjectTypeGuid = *pObjectGuid; + ObjectsPresent |= ACE_OBJECT_TYPE_PRESENT; + } + else + { + ZeroMemory(&pObjSid->ObjectTypeGuid, + sizeof(GUID)); + } + + if (pInheritedObjectGuid != NULL) + { + pObjSid->InheritedObjectTypeGuid = *pInheritedObjectGuid; + ObjectsPresent |= ACE_INHERITED_OBJECT_TYPE_PRESENT; + } + else + { + ZeroMemory(&pObjSid->InheritedObjectTypeGuid, + sizeof(GUID)); + } + + pObjSid->ObjectsPresent = ObjectsPresent; + pObjSid->pSid = pSid; + + /* Fill the TRUSTEE structure */ + pTrustee->pMultipleTrustee = NULL; + pTrustee->MultipleTrusteeOperation = NO_MULTIPLE_TRUSTEE; + pTrustee->TrusteeForm = TRUSTEE_IS_OBJECTS_AND_SID; + pTrustee->TrusteeType = TRUSTEE_IS_UNKNOWN; + pTrustee->ptstrName = (LPWSTR) pObjSid; +} + +/****************************************************************************** + * BuildTrusteeWithSidA [ADVAPI32.@] + */ +VOID WINAPI +BuildTrusteeWithSidA(PTRUSTEE_A pTrustee, + PSID pSid) +{ + TRACE("%p %p\n", pTrustee, pSid); + + pTrustee->pMultipleTrustee = NULL; + pTrustee->MultipleTrusteeOperation = NO_MULTIPLE_TRUSTEE; + pTrustee->TrusteeForm = TRUSTEE_IS_SID; + pTrustee->TrusteeType = TRUSTEE_IS_UNKNOWN; + pTrustee->ptstrName = (LPSTR) pSid; +} + + +/****************************************************************************** + * BuildTrusteeWithSidW [ADVAPI32.@] + */ +VOID WINAPI +BuildTrusteeWithSidW(PTRUSTEE_W pTrustee, + PSID pSid) +{ + TRACE("%p %p\n", pTrustee, pSid); + + pTrustee->pMultipleTrustee = NULL; + pTrustee->MultipleTrusteeOperation = NO_MULTIPLE_TRUSTEE; + pTrustee->TrusteeForm = TRUSTEE_IS_SID; + pTrustee->TrusteeType = TRUSTEE_IS_UNKNOWN; + pTrustee->ptstrName = (LPWSTR) pSid; +} + +/****************************************************************************** + * BuildTrusteeWithNameA [ADVAPI32.@] + */ +VOID WINAPI +BuildTrusteeWithNameA(PTRUSTEE_A pTrustee, + LPSTR name) +{ + TRACE("%p %s\n", pTrustee, name); + + pTrustee->pMultipleTrustee = NULL; + pTrustee->MultipleTrusteeOperation = NO_MULTIPLE_TRUSTEE; + pTrustee->TrusteeForm = TRUSTEE_IS_NAME; + pTrustee->TrusteeType = TRUSTEE_IS_UNKNOWN; + pTrustee->ptstrName = name; +} + +/****************************************************************************** + * BuildTrusteeWithNameW [ADVAPI32.@] + */ +VOID WINAPI +BuildTrusteeWithNameW(PTRUSTEE_W pTrustee, + LPWSTR name) +{ + TRACE("%p %s\n", pTrustee, name); + + pTrustee->pMultipleTrustee = NULL; + pTrustee->MultipleTrusteeOperation = NO_MULTIPLE_TRUSTEE; + pTrustee->TrusteeForm = TRUSTEE_IS_NAME; + pTrustee->TrusteeType = TRUSTEE_IS_UNKNOWN; + pTrustee->ptstrName = name; +} + +/****************************************************************************** + * GetTrusteeFormW [ADVAPI32.@] + */ +TRUSTEE_FORM WINAPI +GetTrusteeFormA(PTRUSTEE_A pTrustee) +{ + return pTrustee->TrusteeForm; +} + + +/****************************************************************************** + * GetTrusteeFormW [ADVAPI32.@] + */ +TRUSTEE_FORM WINAPI +GetTrusteeFormW(PTRUSTEE_W pTrustee) +{ + return pTrustee->TrusteeForm; +} + +/****************************************************************************** + * GetTrusteeNameA [ADVAPI32.@] + */ +LPSTR WINAPI +GetTrusteeNameA(PTRUSTEE_A pTrustee) +{ + return pTrustee->ptstrName; +} + + +/****************************************************************************** + * GetTrusteeNameW [ADVAPI32.@] + */ +LPWSTR WINAPI +GetTrusteeNameW(PTRUSTEE_W pTrustee) +{ + return pTrustee->ptstrName; +} + +/****************************************************************************** + * GetTrusteeTypeA [ADVAPI32.@] + */ +TRUSTEE_TYPE WINAPI +GetTrusteeTypeA(PTRUSTEE_A pTrustee) +{ + return pTrustee->TrusteeType; +} + +/****************************************************************************** + * GetTrusteeTypeW [ADVAPI32.@] + */ +TRUSTEE_TYPE WINAPI +GetTrusteeTypeW(PTRUSTEE_W pTrustee) +{ + return pTrustee->TrusteeType; +} + /* * @implemented */