Dmitry Timoshkov <dmitry(a)baikal.ru> writes:
@@ -238,7 +238,7 @@ static const struct object_ops named_pipe_device_ops = no_satisfied, /* satisfied */ no_signal, /* signal */ named_pipe_device_get_fd, /* get_fd */ - no_map_access, /* map_access */ + named_pipe_map_access, /* map_access */ default_get_sd, /* get_sd */ default_set_sd, /* set_sd */ named_pipe_device_lookup_name, /* lookup_name */ @@ -270,10 +270,10 @@ static void named_pipe_dump( struct object *obj, int verbose )
static unsigned int named_pipe_map_access( struct object *obj, unsigned int access ) { - if (access & GENERIC_READ) access |= STANDARD_RIGHTS_READ; + if (access & GENERIC_READ) access |= STANDARD_RIGHTS_READ | FILE_READ_ATTRIBUTES; if (access & GENERIC_WRITE) access |= STANDARD_RIGHTS_WRITE | FILE_CREATE_PIPE_INSTANCE; if (access & GENERIC_EXECUTE) access |= STANDARD_RIGHTS_EXECUTE; - if (access & GENERIC_ALL) access |= STANDARD_RIGHTS_ALL; + if (access & GENERIC_ALL) access |= STANDARD_RIGHTS_ALL | FILE_READ_ATTRIBUTES | FILE_CREATE_PIPE_INSTANCE; return access & ~(GENERIC_READ | GENERIC_WRITE | GENERIC_EXECUTE | GENERIC_ALL);
Why do you need this for the device? -- Alexandre Julliard julliard(a)winehq.org