[PATCH 1/8] advapi32: Add AccessCheckByTypeAndAuditAlarmA stub.

Mohamad Al-Jaf mohamadaljaf at gmail.com
Tue Feb 1 21:05:47 CST 2022


Needed for IE11.

Signed-off-by: Mohamad Al-Jaf <mohamadaljaf at gmail.com>
---
 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 0391643aa6a..4157cb40fd7 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 02787fc841c..469343cad35 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 c80efee077d..e21768b930d 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,
-- 
2.35.1




More information about the wine-devel mailing list