mirror of
https://github.com/reactos/reactos.git
synced 2024-08-12 14:16:30 +00:00
[ADVAPI32]
* Move some functions from trustee.c to security.c. CORE-8540 svn path=/trunk/; revision=64979
This commit is contained in:
parent
5781991967
commit
648ce226ac
|
@ -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 */
|
||||
|
|
|
@ -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
|
||||
*/
|
||||
|
|
Loading…
Reference in a new issue