diff --git a/reactos/lib/advapi32/advapi32.def b/reactos/lib/advapi32/advapi32.def index 691ed837cf6..dd6fc809d4e 100644 --- a/reactos/lib/advapi32/advapi32.def +++ b/reactos/lib/advapi32/advapi32.def @@ -15,13 +15,13 @@ AccessCheck@32 AccessCheckAndAuditAlarmA@44 AccessCheckAndAuditAlarmW@44 ;AccessCheckByType -;AccessCheckByTypeAndAuditAlarmA@64 -;AccessCheckByTypeAndAuditAlarmW@64 +AccessCheckByTypeAndAuditAlarmA@64 +AccessCheckByTypeAndAuditAlarmW@64 ;AccessCheckByTypeResultList@44 -;AccessCheckByTypeResultListAndAuditAlarmA@64 -;AccessCheckByTypeResultListAndAuditAlarmByHandleA@68 -;AccessCheckByTypeResultListAndAuditAlarmByHandleW@68 -;AccessCheckByTypeResultListAndAuditAlarmW@64 +AccessCheckByTypeResultListAndAuditAlarmA@64 +AccessCheckByTypeResultListAndAuditAlarmByHandleA@68 +AccessCheckByTypeResultListAndAuditAlarmByHandleW@68 +AccessCheckByTypeResultListAndAuditAlarmW@64 AddAccessAllowedAce@16 AddAccessAllowedAceEx@20 AddAccessAllowedObjectAce@28 @@ -236,11 +236,11 @@ FreeSid@4 ;GetAccessPermissionsForObjectW GetAce@12 GetAclInformation@16 -;GetAuditedPermissionsFromAclA@16 +GetAuditedPermissionsFromAclA@16 GetAuditedPermissionsFromAclW@16 GetCurrentHwProfileA@4 GetCurrentHwProfileW@4 -;GetEffectiveRightsFromAclA@12 +GetEffectiveRightsFromAclA@12 GetEffectiveRightsFromAclW@12 ;GetEventLogInformation GetExplicitEntriesFromAclA@12=ADVAPI32.GetExplicitEntriesFromAclW diff --git a/reactos/lib/advapi32/sec/ac.c b/reactos/lib/advapi32/sec/ac.c index 41021d385a4..dd2d713920b 100644 --- a/reactos/lib/advapi32/sec/ac.c +++ b/reactos/lib/advapi32/sec/ac.c @@ -692,16 +692,15 @@ GetExplicitEntriesFromAclW( return ErrorCode; } + /* * @unimplemented */ DWORD STDCALL -GetEffectiveRightsFromAclW( - PACL pacl, - PTRUSTEE_W ptrustee_w, - PACCESS_MASK paccess_mask - ) +GetEffectiveRightsFromAclW(IN PACL pacl, + IN PTRUSTEE_W pTrustee, + OUT PACCESS_MASK pAccessRights) { DPRINT1("%s() not implemented!\n", __FUNCTION__); return ERROR_CALL_NOT_IMPLEMENTED; @@ -713,12 +712,39 @@ GetEffectiveRightsFromAclW( */ DWORD STDCALL -GetAuditedPermissionsFromAclW( - PACL pacl, - PTRUSTEE_W ptrustee_w, - PACCESS_MASK paccess_mask, - PACCESS_MASK paccess_mask2 - ) +GetEffectiveRightsFromAclA(IN PACL pacl, + IN PTRUSTEE_A pTrustee, + OUT PACCESS_MASK pAccessRights) +{ + DPRINT1("%s() not implemented!\n", __FUNCTION__); + return ERROR_CALL_NOT_IMPLEMENTED; +} + + +/* + * @unimplemented + */ +DWORD +STDCALL +GetAuditedPermissionsFromAclW(IN PACL pacl, + IN PTRUSTEE_W pTrustee, + OUT PACCESS_MASK pSuccessfulAuditedRights, + OUT PACCESS_MASK pFailedAuditRights) +{ + DPRINT1("%s() not implemented!\n", __FUNCTION__); + return ERROR_CALL_NOT_IMPLEMENTED; +} + + +/* + * @unimplemented + */ +DWORD +STDCALL +GetAuditedPermissionsFromAclA(IN PACL pacl, + IN PTRUSTEE_A pTrustee, + OUT PACCESS_MASK pSuccessfulAuditedRights, + OUT PACCESS_MASK pFailedAuditRights) { DPRINT1("%s() not implemented!\n", __FUNCTION__); return ERROR_CALL_NOT_IMPLEMENTED; diff --git a/reactos/lib/advapi32/sec/audit.c b/reactos/lib/advapi32/sec/audit.c index 61fb41f114b..02367c24df3 100644 --- a/reactos/lib/advapi32/sec/audit.c +++ b/reactos/lib/advapi32/sec/audit.c @@ -13,6 +13,8 @@ #include +#define NDEBUG +#include /* FUNCTIONS ****************************************************************/ @@ -505,4 +507,169 @@ PrivilegedServiceAuditAlarmW (LPCWSTR SubsystemName, return TRUE; } + +/* + * @unimplemented + */ +BOOL STDCALL +AccessCheckByTypeResultListAndAuditAlarmByHandleW(IN LPCWSTR SubsystemName, + IN LPVOID HandleId, + IN HANDLE ClientToken, + IN LPCWSTR ObjectTypeName, + IN LPCWSTR ObjectName, + IN PSECURITY_DESCRIPTOR pSecurityDescriptor, + IN PSID PrincipalSelfSid, + IN DWORD DesiredAccess, + IN AUDIT_EVENT_TYPE AuditType, + IN DWORD Flags, + IN POBJECT_TYPE_LIST ObjectTypeList, + IN DWORD ObjectTypeListLength, + IN PGENERIC_MAPPING GenericMapping, + IN BOOL ObjectCreation, + OUT LPDWORD GrantedAccess, + OUT LPDWORD AccessStatusList, + OUT LPBOOL pfGenerateOnClose) +{ + DPRINT1("%s() not implemented!\n", __FUNCTION__); + SetLastError(ERROR_CALL_NOT_IMPLEMENTED); + return FALSE; +} + + +/* + * @unimplemented + */ +BOOL STDCALL +AccessCheckByTypeResultListAndAuditAlarmByHandleA(IN LPCSTR SubsystemName, + IN LPVOID HandleId, + IN HANDLE ClientToken, + IN LPCSTR ObjectTypeName, + IN LPCSTR ObjectName, + IN PSECURITY_DESCRIPTOR pSecurityDescriptor, + IN PSID PrincipalSelfSid, + IN DWORD DesiredAccess, + IN AUDIT_EVENT_TYPE AuditType, + IN DWORD Flags, + IN POBJECT_TYPE_LIST ObjectTypeList, + IN DWORD ObjectTypeListLength, + IN PGENERIC_MAPPING GenericMapping, + IN BOOL ObjectCreation, + OUT LPDWORD GrantedAccess, + OUT LPDWORD AccessStatusList, + OUT LPBOOL pfGenerateOnClose) +{ + DPRINT1("%s() not implemented!\n", __FUNCTION__); + SetLastError(ERROR_CALL_NOT_IMPLEMENTED); + return FALSE; +} + + +/* + * @unimplemented + */ +BOOL STDCALL +AccessCheckByTypeResultListAndAuditAlarmW(IN LPCWSTR SubsystemName, + IN LPVOID HandleId, + IN LPCWSTR ObjectTypeName, + IN LPCWSTR ObjectName, + IN PSECURITY_DESCRIPTOR pSecurityDescriptor, + IN PSID PrincipalSelfSid, + IN DWORD DesiredAccess, + IN AUDIT_EVENT_TYPE AuditType, + IN DWORD Flags, + IN POBJECT_TYPE_LIST ObjectTypeList, + IN DWORD ObjectTypeListLength, + IN PGENERIC_MAPPING GenericMapping, + IN BOOL ObjectCreation, + OUT LPDWORD GrantedAccess, + OUT LPDWORD AccessStatusList, + OUT LPBOOL pfGenerateOnClose) +{ + DPRINT1("%s() not implemented!\n", __FUNCTION__); + SetLastError(ERROR_CALL_NOT_IMPLEMENTED); + return FALSE; +} + + +/* + * @unimplemented + */ +BOOL STDCALL +AccessCheckByTypeResultListAndAuditAlarmA(IN LPCSTR SubsystemName, + IN LPVOID HandleId, + IN LPCSTR ObjectTypeName, + IN LPCSTR ObjectName, + IN PSECURITY_DESCRIPTOR pSecurityDescriptor, + IN PSID PrincipalSelfSid, + IN DWORD DesiredAccess, + IN AUDIT_EVENT_TYPE AuditType, + IN DWORD Flags, + IN POBJECT_TYPE_LIST ObjectTypeList, + IN DWORD ObjectTypeListLength, + IN PGENERIC_MAPPING GenericMapping, + IN BOOL ObjectCreation, + OUT LPDWORD GrantedAccess, + OUT LPDWORD AccessStatusList, + OUT LPBOOL pfGenerateOnClose) +{ + DPRINT1("%s() not implemented!\n", __FUNCTION__); + SetLastError(ERROR_CALL_NOT_IMPLEMENTED); + return FALSE; +} + + +/* + * @unimplemented + */ +BOOL STDCALL +AccessCheckByTypeAndAuditAlarmW(IN LPCWSTR SubsystemName, + IN LPVOID HandleId, + IN LPCWSTR ObjectTypeName, + IN LPCWSTR ObjectName, + IN PSECURITY_DESCRIPTOR pSecurityDescriptor, + IN PSID PrincipalSelfSid, + IN DWORD DesiredAccess, + IN AUDIT_EVENT_TYPE AuditType, + IN DWORD Flags, + IN POBJECT_TYPE_LIST ObjectTypeList, + IN DWORD ObjectTypeListLength, + IN PGENERIC_MAPPING GenericMapping, + IN BOOL ObjectCreation, + OUT LPDWORD GrantedAccess, + OUT LPBOOL AccessStatus, + OUT LPBOOL pfGenerateOnClose) +{ + DPRINT1("%s() not implemented!\n", __FUNCTION__); + SetLastError(ERROR_CALL_NOT_IMPLEMENTED); + return FALSE; +} + + +/* + * @unimplemented + */ +BOOL STDCALL +AccessCheckByTypeAndAuditAlarmA(IN LPCSTR SubsystemName, + IN LPVOID HandleId, + IN LPCSTR ObjectTypeName, + IN LPCSTR ObjectName, + IN PSECURITY_DESCRIPTOR pSecurityDescriptor, + IN PSID PrincipalSelfSid, + IN DWORD DesiredAccess, + IN AUDIT_EVENT_TYPE AuditType, + IN DWORD Flags, + IN POBJECT_TYPE_LIST ObjectTypeList, + IN DWORD ObjectTypeListLength, + IN PGENERIC_MAPPING GenericMapping, + IN BOOL ObjectCreation, + OUT LPDWORD GrantedAccess, + OUT LPBOOL AccessStatus, + OUT LPBOOL pfGenerateOnClose) +{ + DPRINT1("%s() not implemented!\n", __FUNCTION__); + SetLastError(ERROR_CALL_NOT_IMPLEMENTED); + return FALSE; +} + + /* EOF */