mirror of
https://github.com/reactos/reactos.git
synced 2024-12-27 01:24:38 +00:00
implemented GetInheritanceSource and FreeInheritedFromArray and forward them to the MARTA provider
svn path=/trunk/; revision=16807
This commit is contained in:
parent
a3b5b6b8a8
commit
d04a2e183c
5 changed files with 95 additions and 14 deletions
|
@ -69,8 +69,21 @@ typedef struct _NTMARTA
|
|||
|
||||
PVOID RewriteGetExplicitEntriesFromAcl;
|
||||
PVOID TreeResetNamedSecurityInfo;
|
||||
PVOID GetInheritanceSource;
|
||||
PVOID FreeIndexArray;
|
||||
|
||||
DWORD (STDCALL *GetInheritanceSource)(LPWSTR pObjectName,
|
||||
SE_OBJECT_TYPE ObjectType,
|
||||
SECURITY_INFORMATION SecurityInfo,
|
||||
BOOL Container,
|
||||
GUID** pObjectClassGuids,
|
||||
DWORD GuidCount,
|
||||
PACL pAcl,
|
||||
PFN_OBJECT_MGR_FUNCTS pfnArray,
|
||||
PGENERIC_MAPPING pGenericMapping,
|
||||
PINHERITED_FROMW pInheritArray);
|
||||
|
||||
DWORD (STDCALL *FreeIndexArray)(PINHERITED_FROMW pInheritArray,
|
||||
USHORT AceCnt,
|
||||
PFN_OBJECT_MGR_FUNCTS pfnArray OPTIONAL);
|
||||
} NTMARTA, *PNTMARTA;
|
||||
|
||||
#define AccLookupAccountTrustee NtMartaStatic.LookupAccountTrustee
|
||||
|
|
|
@ -435,7 +435,7 @@ GetAce (
|
|||
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
* @implemented
|
||||
*/
|
||||
DWORD
|
||||
STDCALL
|
||||
|
@ -452,8 +452,25 @@ GetInheritanceSourceW (
|
|||
PINHERITED_FROMW pInheritArray
|
||||
)
|
||||
{
|
||||
DPRINT1("%s() not implemented!\n", __FUNCTION__);
|
||||
return ERROR_CALL_NOT_IMPLEMENTED;
|
||||
DWORD ErrorCode;
|
||||
|
||||
ErrorCode = CheckNtMartaPresent();
|
||||
if (ErrorCode == ERROR_SUCCESS)
|
||||
{
|
||||
/* call the MARTA provider */
|
||||
ErrorCode = AccGetInheritanceSource(pObjectName,
|
||||
ObjectType,
|
||||
SecurityInfo,
|
||||
Container,
|
||||
pObjectClassGuids,
|
||||
GuidCount,
|
||||
pAcl,
|
||||
pfnArray,
|
||||
pGenericMapping,
|
||||
pInheritArray);
|
||||
}
|
||||
|
||||
return ErrorCode;
|
||||
}
|
||||
|
||||
|
||||
|
@ -475,24 +492,38 @@ GetInheritanceSourceA (
|
|||
PINHERITED_FROM pInheritArray
|
||||
)
|
||||
{
|
||||
DPRINT1("%s() not implemented!\n", __FUNCTION__);
|
||||
return ERROR_CALL_NOT_IMPLEMENTED;
|
||||
/* That's all this function does, at least up to w2k3... Even MS was too
|
||||
lazy to implement it... */
|
||||
return ERROR_CALL_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
* @implemented
|
||||
*/
|
||||
DWORD
|
||||
STDCALL
|
||||
FreeInheritedFromArray (
|
||||
PINHERITED_FROM pInheritArray,
|
||||
PINHERITED_FROMW pInheritArray,
|
||||
USHORT AceCnt,
|
||||
PFN_OBJECT_MGR_FUNCTS pfnArray OPTIONAL
|
||||
)
|
||||
{
|
||||
DPRINT1("%s() not implemented!\n", __FUNCTION__);
|
||||
return ERROR_CALL_NOT_IMPLEMENTED;
|
||||
DWORD ErrorCode;
|
||||
|
||||
/* pfnArray is not yet used */
|
||||
UNREFERENCED_PARAMETER(pfnArray);
|
||||
|
||||
ErrorCode = CheckNtMartaPresent();
|
||||
if (ErrorCode == ERROR_SUCCESS)
|
||||
{
|
||||
/* call the MARTA provider */
|
||||
ErrorCode = AccFreeIndexArray(pInheritArray,
|
||||
AceCnt,
|
||||
NULL);
|
||||
}
|
||||
|
||||
return ErrorCode;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -62,9 +62,9 @@ LoadAndInitializeNtMarta(VOID)
|
|||
#if 0
|
||||
FindNtMartaProc(RewriteGetExplicitEntriesFromAcl);
|
||||
FindNtMartaProc(TreeResetNamedSecurityInfo);
|
||||
#endif
|
||||
FindNtMartaProc(GetInheritanceSource);
|
||||
FindNtMartaProc(FreeIndexArray);
|
||||
#endif
|
||||
|
||||
return ERROR_SUCCESS;
|
||||
}
|
||||
|
|
|
@ -121,6 +121,43 @@ AccRewriteSetEntriesInAcl(ULONG cCountOfExplicitEntries,
|
|||
}
|
||||
|
||||
|
||||
/**********************************************************************
|
||||
* AccRewriteSetEntriesInAcl EXPORTED
|
||||
*
|
||||
* @unimplemented
|
||||
*/
|
||||
DWORD STDCALL
|
||||
AccGetInheritanceSource(LPWSTR pObjectName,
|
||||
SE_OBJECT_TYPE ObjectType,
|
||||
SECURITY_INFORMATION SecurityInfo,
|
||||
BOOL Container,
|
||||
GUID** pObjectClassGuids,
|
||||
DWORD GuidCount,
|
||||
PACL pAcl,
|
||||
PFN_OBJECT_MGR_FUNCTS pfnArray,
|
||||
PGENERIC_MAPPING pGenericMapping,
|
||||
PINHERITED_FROMW pInheritArray)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return ERROR_CALL_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
|
||||
/**********************************************************************
|
||||
* AccFreeIndexArray EXPORTED
|
||||
*
|
||||
* @unimplemented
|
||||
*/
|
||||
DWORD STDCALL
|
||||
AccFreeIndexArray(PINHERITED_FROMW pInheritArray,
|
||||
USHORT AceCnt,
|
||||
PFN_OBJECT_MGR_FUNCTS pfnArray OPTIONAL)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return ERROR_CALL_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
|
||||
BOOL STDCALL
|
||||
DllMain(IN HINSTANCE hinstDLL,
|
||||
IN DWORD dwReason,
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
LIBRARY ntmarta.dll
|
||||
|
||||
EXPORTS
|
||||
;AccFreeIndexArray
|
||||
;AccGetInheritanceSource
|
||||
AccFreeIndexArray@12
|
||||
AccGetInheritanceSource@40
|
||||
;AccProvHandleGrantAccessRights;
|
||||
;AccRewriteGetExplicitEntriesFromAcl
|
||||
AccRewriteGetHandleRights@32
|
||||
|
|
Loading…
Reference in a new issue