Programmatically, all device properties in the unified device property model are represented by property keys. The property keys are coded as DEVPROPKEY structures. The property keys are defined in Devpkey.h.
A DEVPROPKEY structure has the following members:
A DEVPROPGUID-typed variable that identifies the property category.
A DEVPROPID-typed variable that is the property identifier. For internal system reasons, a property identifier must be greater than or equal to two.
To create a custom device property key, use the DEFINE_DEVPROPKEY macro.
The following is an example of how to use the DEFINE_DEVPROPKEY macro to create a DEVPROPKEY structure. The name of the structure is "DEVPROPKEYStructureName", the sequence of values 0xde5c254e through 0xe0 supply the GUID value, and the value "2" is the property identifier.
DEFINE_DEVPROPKEY(DEVPROPKEYStuctureName, 0xde5c254e, 0xab1c, 0xeffd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0, 2)