Pipe names are case sensitive.

Robert Shearman rob at codeweavers.com
Tue Apr 19 13:01:07 CDT 2005


Alexandre Julliard wrote:

>It doesn't seem to me there is much to marshal in the
>OBJECT_ATTRIBUTES structure apart from the security descriptor, so I'm
>not sure what you plan to do.
>

The useful fields are RootDirectory, ObjectName, Attributes (for the 
OBJ_INHERIT and OBJ_CASE_INSENSITIVE flags) and SecurityDescriptor. 
These are handled individually by server calls that use them, or not at 
all in some cases (for example the RootDirectory and 
OBJ_CASE_INSENSITIVE flag). Also, all of these should by handled by the 
create_object or find_object call on the server side, so it makes sense 
to keep them together.

>Also I'm not convinced at all that you
>can avoid making the namespace know about case sensitivity; if you
>allow the caller to specify it, you can create names that differ only
>in case which will break callers that do case insensitive lookups.
>

Testing on Windows shows that case insensitive lookups use the last 
added object with that name. For example:
Create event with name "Test"
Create mutex with name "test"
Open event with case insensitive name "TEst" -> fails with 
STATUS_OBJECT_TYPE_MISMATCH
Open mutex with case insensitive name "TEst" -> succeeds

Rob



More information about the wine-devel mailing list