Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
You'll recall that there are multiple layers in the property system. In particular, the GPS_DEFAULT property system stack for files in the filesystem namespace looks like this:
[ Application using GPS_DEFAULT ]
[ Coercion Layer ]
[ Shell Item Layer ]*
[ File System Namespace ]*
[ Property Handler ]*
I've starred the layers that provide properties. The thing to notice is that there are multiple sources of properties when you use GPS_DEFAULT.
The non-obvious datum is that GPS_READWRITE contains only a portion of this stack. Notice how the application is talking to just the property handler:
[ Application using GPS_READWRITE ]
[ Coercion Layer ]
[ Property Handler ]*
The repurcussion for applications is that they cannot see data provided by the other data sources when using GPS_READWRITE. They cannot read all the properties like they could using GPS_DEFAULT. So if you are building a details pane like the one in explorer, you'll have to read properties using GPS_DEFAULT, close the store, and then use GPS_READWRITE for writing.
The propsys.idl file concisely mentions this tidbit:
GPS_READWRITE = 0x00000002, // Writable stores will only include handler properties
-Ben Karas
p.s. propsys.idl contains a lot of comments that apparently got stripped out from propsys.h. Ouch. I highly suggest peeking at the IDL files to see if some developer posted a comment there for the interface or structure you are using.
Comments
- Anonymous
November 14, 2006
Have you ever felt this before? It's the day after you send your product to manufacturing . You step