Needed for IE11.
Signed-off-by: Mohamad Al-Jaf mohamadaljaf@gmail.com --- v2: Fix whitespace error. --- dlls/advapi32/advapi32.spec | 2 +- dlls/advapi32/security.c | 16 ++++++++++++++++ include/winbase.h | 1 + include/winnt.h | 7 +++++++ 4 files changed, 25 insertions(+), 1 deletion(-)
diff --git a/dlls/advapi32/advapi32.spec b/dlls/advapi32/advapi32.spec index cefc8dc2899..ce9a003e127 100644 --- a/dlls/advapi32/advapi32.spec +++ b/dlls/advapi32/advapi32.spec @@ -8,7 +8,7 @@ @ stdcall AccessCheckAndAuditAlarmA(str ptr str str ptr long ptr long ptr ptr ptr) @ stdcall -import AccessCheckAndAuditAlarmW(wstr ptr wstr wstr ptr long ptr long ptr ptr ptr) @ stdcall -import AccessCheckByType(ptr ptr long long ptr long ptr ptr ptr ptr ptr) -# @ stub AccessCheckByTypeAndAuditAlarmA +@ stdcall AccessCheckByTypeAndAuditAlarmA(str ptr str str ptr ptr long long long ptr long ptr long ptr ptr ptr) # @ stub AccessCheckByTypeAndAuditAlarmW # @ stub AccessCheckByTypeResultList # @ stub AccessCheckByTypeResultListAndAuditAlarmA diff --git a/dlls/advapi32/security.c b/dlls/advapi32/security.c index e0f7b63aedb..a6247cd7f89 100644 --- a/dlls/advapi32/security.c +++ b/dlls/advapi32/security.c @@ -1429,6 +1429,22 @@ BOOL WINAPI AccessCheckAndAuditAlarmA(LPCSTR Subsystem, LPVOID HandleId, LPSTR O return TRUE; }
+/****************************************************************************** + * AccessCheckByTypeAndAuditAlarmA [ADVAPI32.@] + */ +BOOL WINAPI AccessCheckByTypeAndAuditAlarmA( LPCSTR subsystem, LPVOID id, LPCSTR type_name, + LPCSTR name, PSECURITY_DESCRIPTOR descr, PSID sid, + DWORD access, AUDIT_EVENT_TYPE audit, DWORD flags, + POBJECT_TYPE_LIST types, DWORD length, + PGENERIC_MAPPING mapping, BOOL creation, LPDWORD granted, + LPBOOL status, LPBOOL on_close ) +{ + FIXME( "stub (%s,%p,%s,%s,%p,%p,%08x,%p,%08x,%p,%08x,%p,%x,%p,%p,%p)\n", debugstr_a(subsystem), + id, debugstr_a(type_name), debugstr_a(name), descr, sid, access, audit, + flags, types, length, mapping, creation, granted, status, on_close ); + return TRUE; +} + BOOL WINAPI ObjectCloseAuditAlarmA(LPCSTR SubsystemName, LPVOID HandleId, BOOL GenerateOnClose) { FIXME("stub (%s,%p,%x)\n", debugstr_a(SubsystemName), HandleId, GenerateOnClose); diff --git a/include/winbase.h b/include/winbase.h index 0a0bfde9d10..379bd06830f 100644 --- a/include/winbase.h +++ b/include/winbase.h @@ -1780,6 +1780,7 @@ WINADVAPI BOOL WINAPI AccessCheckAndAuditAlarmA(LPCSTR,LPVOID,LPSTR,LPST WINADVAPI BOOL WINAPI AccessCheckAndAuditAlarmW(LPCWSTR,LPVOID,LPWSTR,LPWSTR,PSECURITY_DESCRIPTOR,DWORD,PGENERIC_MAPPING,BOOL,LPDWORD,LPBOOL,LPBOOL); #define AccessCheckAndAuditAlarm WINELIB_NAME_AW(AccessCheckAndAuditAlarm) WINADVAPI BOOL WINAPI AccessCheckByType(PSECURITY_DESCRIPTOR,PSID,HANDLE,DWORD,POBJECT_TYPE_LIST,DWORD,PGENERIC_MAPPING,PPRIVILEGE_SET,LPDWORD,LPDWORD,LPBOOL); +WINADVAPI BOOL WINAPI AccessCheckByTypeAndAuditAlarmA(LPCSTR,LPVOID,LPCSTR,LPCSTR,PSECURITY_DESCRIPTOR,PSID,DWORD,AUDIT_EVENT_TYPE,DWORD,POBJECT_TYPE_LIST,DWORD,PGENERIC_MAPPING,BOOL,LPDWORD,LPBOOL,LPBOOL); WINBASEAPI VOID WINAPI AcquireSRWLockExclusive(PSRWLOCK); WINBASEAPI VOID WINAPI AcquireSRWLockShared(PSRWLOCK); WINADVAPI BOOL WINAPI AdjustTokenPrivileges(HANDLE,BOOL,PTOKEN_PRIVILEGES,DWORD,PTOKEN_PRIVILEGES,PDWORD); diff --git a/include/winnt.h b/include/winnt.h index bd64b092369..b82c96bfb27 100644 --- a/include/winnt.h +++ b/include/winnt.h @@ -3633,6 +3633,13 @@ typedef PVOID PACCESS_TOKEN; typedef PVOID PSECURITY_DESCRIPTOR; typedef PVOID PSID;
+typedef enum _AUDIT_EVENT_TYPE { + AuditEventObjectAccess, + AuditEventDirectoryServiceAccess +} AUDIT_EVENT_TYPE, *PAUDIT_EVENT_TYPE; + +#define AUDIT_ALLOW_NO_PRIVILEGE 0x1 + typedef enum _TOKEN_ELEVATION_TYPE { TokenElevationTypeDefault = 1, TokenElevationTypeFull,