Ben on vacation

I will be on vacation until mid-December, so it is unlikely that I will make any more posts until then, or even maybe January.  -Ben Karas

0

Writing properties #9 – Summary

Coding to the Windows SDK Reading properties #7 – Summary Writing properties #1 – Simple beginnings Writing properties #2 – Filetype support? Writing properties #3 – Which properties are writable? Writing properties #4 – Which properties are writable? Writing properties #5 – Property lists Writing properties #6 – GPS_READWRITE omits read-only data sources The deal with IPropertyStoreCapabilities Writing…

0

From bad to worse – the bus ride home

Today started out nice.  But midday it started raining heavily and the wind trashed around a lot.  Our building had several brown-outs and reset our computers.  Seeing how windy it was, I checked online for any potential bridge closures.  Fortunately, none of the 20 state highway closures involved the 520 bridge.  Yes, 20 highway closures….

0

Writing properties #8 – Canonical Values

There’s one last topic I want to touch on before I close this series:  Canonical values.  So far I’ve talked about how to determine when the property itself is writable.  But once you decide to write a property, how do you figure out what type the value should be?  What if you get it wrong?…

0

The deal with IPropertyStoreCapabilities

Have you ever felt this before?  It’s the day after you send your product to manufacturing.  You step back, look at the big picture, and start to see minor flaws.  A dread sinks in when you realize you just blogged about it too!  That was Monday morning.  🙂  The good news is that our analysis…

0

Writing properties #6 – GPS_READWRITE omits read-only data sources

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…

1

Trivia: Why is System.PropList.PreviewDetails named "PreviewDetails"?

In explorer, the bottom portion of an explorer window changed names late in the development cycle of Windows Vista.  It was called the “preview pane” for the longest time.  The old name snuck into our property naming and our APIs.  Later, the name was changed changed to “details pane”.  We were able to update most APIs, but…

0

Writing properties #5 – Property lists

So if a property handler doesn’t enumerate which properties it supports writing, then how does the explorer pick which properties to show?  Well, the shell namespace extension containing the item specifies the list of properties it wants to show in a particular piece of UI.  To query this property list, call IPropertyStore::GetValue(PKEY_PropList_XXX) on the read-only…

1

Writing properties #4 – Which properties are writeable?

I’m going to make a first stab at printing out a list of properties that are writable for a given file.  I’ll spoil the fun and let you know that my attempt today will not fully succeed.  I’ll explain later.  For now, let’s see some code! You’ll recall I wrote a program to loop through…

0