kernel32: Create/Open all named objects as case-insensitive

Vitaliy Margolen wine-patch at kievinfo.com
Mon Sep 19 17:53:51 CDT 2005


Specify flag OBJ_CASE_INSENSITIVE when calling appropriate Ntxx fuxctions
creating/opening named objects.

Vitaliy Margolen

changelog:
  Create/Open all named objects as case-insensitive
-------------- next part --------------
Index: dlls/kernel/sync.c
===================================================================
RCS file: /home/wine/wine/dlls/kernel/sync.c,v
retrieving revision 1.85
diff -u -p -r1.85 sync.c
--- dlls/kernel/sync.c	6 Sep 2005 14:09:42 -0000	1.85
+++ dlls/kernel/sync.c	19 Sep 2005 22:50:49 -0000
@@ -445,7 +445,8 @@ HANDLE WINAPI CreateEventW( SECURITY_ATT
     attr.Length                   = sizeof(attr);
     attr.RootDirectory            = 0;
     attr.ObjectName               = NULL;
-    attr.Attributes               = (sa && sa->bInheritHandle) ? OBJ_INHERIT : 0;
+    attr.Attributes               = OBJ_CASE_INSENSITIVE |
+                                    (sa && sa->bInheritHandle) ? OBJ_INHERIT : 0;
     attr.SecurityDescriptor       = sa ? sa->lpSecurityDescriptor : NULL;
     attr.SecurityQualityOfService = NULL;
     if (name)
@@ -502,7 +503,8 @@ HANDLE WINAPI OpenEventW( DWORD access, 
     attr.Length                   = sizeof(attr);
     attr.RootDirectory            = 0;
     attr.ObjectName               = NULL;
-    attr.Attributes               = inherit ? OBJ_INHERIT : 0;
+    attr.Attributes               = OBJ_CASE_INSENSITIVE |
+                                    (inherit) ? OBJ_INHERIT : 0;
     attr.SecurityDescriptor       = NULL;
     attr.SecurityQualityOfService = NULL;
     if (name)
@@ -639,7 +641,8 @@ HANDLE WINAPI CreateMutexW( SECURITY_ATT
     attr.Length                   = sizeof(attr);
     attr.RootDirectory            = 0;
     attr.ObjectName               = NULL;
-    attr.Attributes               = (sa && sa->bInheritHandle) ? OBJ_INHERIT : 0;
+    attr.Attributes               = OBJ_CASE_INSENSITIVE |
+                                    (sa && sa->bInheritHandle) ? OBJ_INHERIT : 0;
     attr.SecurityDescriptor       = sa ? sa->lpSecurityDescriptor : NULL;
     attr.SecurityQualityOfService = NULL;
     if (name)
@@ -687,7 +690,8 @@ HANDLE WINAPI OpenMutexW( DWORD access, 
     attr.Length                   = sizeof(attr);
     attr.RootDirectory            = 0;
     attr.ObjectName               = NULL;
-    attr.Attributes               = inherit ? OBJ_INHERIT : 0;
+    attr.Attributes               = OBJ_CASE_INSENSITIVE | 
+                                    (inherit) ? OBJ_INHERIT : 0;
     attr.SecurityDescriptor       = NULL;
     attr.SecurityQualityOfService = NULL;
     if (name)
@@ -760,7 +764,8 @@ HANDLE WINAPI CreateSemaphoreW( SECURITY
     attr.Length                   = sizeof(attr);
     attr.RootDirectory            = 0;
     attr.ObjectName               = NULL;
-    attr.Attributes               = (sa && sa->bInheritHandle) ? OBJ_INHERIT : 0;
+    attr.Attributes               = OBJ_CASE_INSENSITIVE | 
+                                    (sa && sa->bInheritHandle) ? OBJ_INHERIT : 0;
     attr.SecurityDescriptor       = sa ? sa->lpSecurityDescriptor : NULL;
     attr.SecurityQualityOfService = NULL;
     if (name)
@@ -808,7 +813,8 @@ HANDLE WINAPI OpenSemaphoreW( DWORD acce
     attr.Length                   = sizeof(attr);
     attr.RootDirectory            = 0;
     attr.ObjectName               = NULL;
-    attr.Attributes               = inherit ? OBJ_INHERIT : 0;
+    attr.Attributes               = OBJ_CASE_INSENSITIVE |
+                                    (inherit) ? OBJ_INHERIT : 0;
     attr.SecurityDescriptor       = NULL;
     attr.SecurityQualityOfService = NULL;
     if (name)
@@ -874,7 +880,8 @@ HANDLE WINAPI CreateWaitableTimerW( SECU
     attr.Length                   = sizeof(attr);
     attr.RootDirectory            = 0;
     attr.ObjectName               = NULL;
-    attr.Attributes               = (sa && sa->bInheritHandle) ? OBJ_INHERIT : 0;
+    attr.Attributes               = OBJ_CASE_INSENSITIVE |
+                                    (sa && sa->bInheritHandle) ? OBJ_INHERIT : 0;
     attr.SecurityDescriptor       = sa ? sa->lpSecurityDescriptor : NULL;
     attr.SecurityQualityOfService = NULL;
     if (name)
@@ -923,7 +930,8 @@ HANDLE WINAPI OpenWaitableTimerW( DWORD 
     attr.Length                   = sizeof(attr);
     attr.RootDirectory            = 0;
     attr.ObjectName               = NULL;
-    attr.Attributes               = inherit ? OBJ_INHERIT : 0;
+    attr.Attributes               = OBJ_CASE_INSENSITIVE
+                                    (inherit) ? OBJ_INHERIT : 0;
     attr.SecurityDescriptor       = NULL;
     attr.SecurityQualityOfService = NULL;
     if (name)
@@ -1104,7 +1112,8 @@ HANDLE WINAPI CreateNamedPipeW( LPCWSTR 
     attr.Length                   = sizeof(attr);
     attr.RootDirectory            = 0;
     attr.ObjectName               = &nt_name;
-    attr.Attributes               = (sa && sa->bInheritHandle) ? OBJ_INHERIT : 0;
+    attr.Attributes               = OBJ_CASE_INSENSITIVE |
+                                    (sa && sa->bInheritHandle) ? OBJ_INHERIT : 0;
     attr.SecurityDescriptor       = sa ? sa->lpSecurityDescriptor : NULL;
     attr.SecurityQualityOfService = NULL;
 
Index: dlls/kernel/virtual.c
===================================================================
RCS file: /home/wine/wine/dlls/kernel/virtual.c,v
retrieving revision 1.8
diff -u -p -r1.8 virtual.c
--- dlls/kernel/virtual.c	15 Jul 2005 10:01:31 -0000	1.8
+++ dlls/kernel/virtual.c	19 Sep 2005 22:50:49 -0000
@@ -304,7 +304,8 @@ HANDLE WINAPI CreateFileMappingW( HANDLE
     attr.Length                   = sizeof(attr);
     attr.RootDirectory            = 0;
     attr.ObjectName               = NULL;
-    attr.Attributes               = (sa && sa->bInheritHandle) ? OBJ_INHERIT : 0;
+    attr.Attributes               = OBJ_CASE_INSENSITIVE |
+                                    (sa && sa->bInheritHandle) ? OBJ_INHERIT : 0;
     attr.SecurityDescriptor       = sa ? sa->lpSecurityDescriptor : NULL;
     attr.SecurityQualityOfService = NULL;
 
@@ -399,7 +400,7 @@ HANDLE WINAPI OpenFileMappingW( DWORD ac
     attr.Length = sizeof(attr);
     attr.RootDirectory = 0;
     attr.ObjectName = &nameW;
-    attr.Attributes = inherit ? OBJ_INHERIT : 0;
+    attr.Attributes = OBJ_CASE_INSENSITIVE | (inherit) ? OBJ_INHERIT : 0;
     attr.SecurityDescriptor = NULL;
     attr.SecurityQualityOfService = NULL;
     RtlInitUnicodeString( &nameW, name );


More information about the wine-patches mailing list