The Great Flying Tortoise

A hard-boiled look at Win32 C++ programming and the property system

Property System

Blog - About

About The Great Flying Tortoise

Ben Karas has been a developer working at Microsoft since 2003.  He hopes to write useful tidbits concerning the property system, Win32 C++ programming, and living in the Seattle area. 

I'll keep the rules simple:
 1. Use good judgement.
 2. See rule #1

All postings are provided "AS IS" with no warranties and confer no rights. Opinions expressed are those of the respective authors. More legal stuff here.

  • The Great Flying Tortoise

    PROPVARIANTs - Common mistakes

    • 0 Comments
    As I mentioned yesterday, PROPVARIANT's hold data that gets piped through the property system. Early in our development cycle, we noticed is that even the most careful developer can easily make mistakes when initializing PROPVARIANTs. One common...
  • The Great Flying Tortoise

    Introducing the PROPVARIANT

    • 0 Comments
    Values in the property system are stored in PROPVARIANT structures. Originally constructed for use in OLE structured storage, the property system reuses this structure to hold its data. As the name suggests, a PROPVARIANT can hold a variety of data...
  • The Great Flying Tortoise

    Canonical Property Names

    • 1 Comments
    Most of the property system uses PROPERTYKEY s to identify properties. But you can also identify a property using its canonical name. For instance, PKEY_DateModified corresponds to L"System.DateModified". Whereas a PROPERTYKEY was good for coding and...
  • The Great Flying Tortoise

    The source of property types

    • 1 Comments
    I mentioned that one of the property system layers coerces values to be of the correct type. But how does the system know the expected type? The property system maintains a data structure describing each property on the machine. Each property description...
  • The Great Flying Tortoise

    Why use IShellItem2::GetPropertyStore?

    • 0 Comments
    I often get this question: "How can I read properties directly from a property handler?" (Remember that the property handler is the file system namespace's extensibility point.) Usually, the person just wants to read one or more properties and doesn...
  • The Great Flying Tortoise

    Property System Layers and Extensibility Points

    • 4 Comments
    It's easy to get confused about what points of extensibility exist and what layer provide what services. This isn't helped by the fact that we've lumped a bunch of things into the property system, but I'll try to diagram this out here and in future posts...
  • The Great Flying Tortoise

    What is the Property System? - in normal language

    • 2 Comments
    In my first post , I described what the property system provides from an API perspective. But I used all these techno-wiggle-waggle-jibber-jabber that my friends couldn't follow. Ich. What feedback for a first post! So here it is minus the 133t-speak...
  • The Great Flying Tortoise

    Trying out the property system

    • 1 Comments
    You can, of course, wait for Windows Vista to ship before checking out the property system. But if you are curious or bored, here are a few other things you might do: Download the Windows Vista Platform SDK: The most recent Platform SDK . The SDK...
  • The Great Flying Tortoise

    What is a PROPERTYKEY?

    • 0 Comments
    So what's this PROPERTYKEY that the property system uses? Where do I get them? Well, property keys identify the particular property you are interested in. You can find a bunch of system-provided definitions in the Windows Vista Platform SDK in propkey...
  • The Great Flying Tortoise

    Property consumerism

    • 2 Comments
    Reading properties is rather simple. First, bind to the item. SHCreateItemFromIDList and SHCreateItemFromParsingName are appropriate for this. Then read your properties. Be sure to clean up after yourself. IShellItem2 *psi; if (SUCCEEDED(SHCreateItemFromParsingName...
  • The Great Flying Tortoise

    What is the property system?

    • 1 Comments
    The property system is a new set of APIs for Microsoft Windows Vista that provides a general way to access metadata about files and items accessible through the shell namespace. This means you can ask for the dimensions of an image, or the size of a file...
Page 2 of 2 (36 items) 12