Vitaliy Margolen wrote:
Monday, October 3, 2005, 11:21:37 PM, Dmitry Timoshkov wrote:
"Vitaliy Margolen" <[EMAIL PROTECTED]> wrote:
It is an additional flags to the rest of the file flags because they are
transferred all the way to the kernel. And being translated into specific access
rights by an object manager according to the object type. It has array of the
generic attributes mappings.
Does the ntdll export RtlMapGenericMask have anything to do with mapping
GENERIC_xxxx
flags into STANDARD_RIGHTS_xxxx? Is there any information regarding that?
Hmm, I don't know nothing about that one. I did some reading about object
manager and on of the functions of it is to translate those generic access flags
into appropriate full attributes. What interesting is that it's not per object
but per object type. So all files (real files, named pipes, etc) have the same
mapping.
I'm not sure how far should we go with this. But I have a big work cut out for
me fixing wine's object manager.
Basically I think that GENERIC_READ as to be mapped so a set of lower
level defines (STANDARD_RIGHTS_READ, FILE_READ_DATA,
FILE_READ_ATTRIBUTES, FILE_READ_EA, and SYNCHRONIZE), and actual
permission to read the file is FILE_READ_DATA, not GENERIC_READ as we
incorrectly do)
A+
--
Eric Pouech