Storage Metadata (Properties)
Metadata is descriptive information about the content transferred to or from a device. In Windows Media Device Manager, metadata consists of properties, where each property is a name-value pair. The name is always a wide-character string. The value is one of several defined data types described in the WMDM_TAG_DATATYPE enumeration.
Windows Media Device Manager has predefined common properties and it is strongly recommended that you use those instead defining new ones. For each predefined property, the SDK defines a global constant that contains the name string. You can reduce the chance of typographical errors by using the global constant. For example, the constant g_wszWMDMTitle is defined as "Title", corresponding to the Title property.
The following property names and global pointers have been defined for use in this SDK. These are defined in wmdm.idl and mswmdm.h.
Storage property | Description | Windows Media Device Manager type | Underlying type | Equivalent API |
g_wszWMDMAuthor | Content author | WMDM_TYPE_STRING | LPCWSTR | |
g_wszWMDMFileName | File name | WMDM_TYPE_STRING | LPCWSTR | IWMDMStorage::GetName |
g_wszWMDMFileSize | File size, in bytes | WMDM_TYPE_QWORD | QWORD | IWMDMStorage::GetSize |
g_wszWMDMTitle | Track title | WMDM_TYPE_STRING | LPCWSTR | |
g_wszWMDMPersistentUniqueID | Device-generated unique ID for storage | WMDM_TYPE_STRING | LPCWSTR | |
g_wszWMDMDuration | Media duration, in 100 ns units | WMDM_TYPE_QWORD | QWORD | |
g_wszWMDMAlbumArtist | Track's Album's Artists | WMDM_TYPE_STRING | LPCWSTR | |
g_wszWMDMAlbumTitle | Track's Album Title | WMDM_TYPE_STRING | LPCWSTR | |
g_wszWMDMGenre | Track's Genre | WMDM_TYPE_STRING | LPCWSTR | |
g_wszWMDMTrack | Track's Track Number (1 -- 99) | WMDM_TYPE_DWORD | DWORD | |
g_wszWMDMYear | Track's Album Release Year | WMDM_TYPE_STRING | LPCWSTR | |
g_wszWMDMProviderCopyright | Copyright holder's name | WMDM_TYPE_STRING | LPCWSTR | |
g_wszWMDMPlayCount | Total count of file playback | WMDM_TYPE_DWORD | DWORD | |
g_wszWMDMUserEffectiveRating | Calculated from user, service ratings, and playcount | WMDM_TYPE_DWORD | DWORD | |
g_wszWMDMUserRating | User set rating | WMDM_TYPE_DWORD | DWORD | |
g_wszWMDMParentalRating | Advisory rating | WMDM_TYPE_STRING | LPCWSTR | |
g_wszWMDMComposer | Music composer | WMDM_TYPE_STRING | LPCWSTR | |
g_wszWMDMediaClassPrimaryID | Music, video, non-music audio, other | WMDM_TYPE_STRING | LPCWSTR | |
g_wszWMDMMediaClassSecondaryID | Audio books, music videos, talk radio, and so on. | WMDM_TYPE_STRING | LPCWSTR | |
g_wszWMDMMediaStationName | TV station call letters or name | WMDM_TYPE_STRING | LPCWSTR | |
g_wszWMDMSubTitle | TV episode title | WMDM_TYPE_STRING | LPCWSTR | |
g_wszWMDMDescription | TV series or photo description | WMDM_TYPE_STRING | LPCWSTR | |
g_wszWMDMSubTitleDescription | TV episode description | WMDM_TYPE_STRING | LPCWSTR | |
g_wszWMDMAuthorDate | Content authored date | WMDM_TYPE_DATE | WMDMDATETIME | |
g_wszWMDMFileCreationDate | File creation date | WMDM_TYPE_DATE | WMDMDATETIME | |
g_wszWMDMFormatCode | Format code for content format. It should be a WMDM_FORMATCODE value | WMDM_TYPE_DWORD | WMDM_FORMATCODE | |
g_wszWMDMWidth | Video or image width | WMDM_TYPE_DWORD | DWORD | |
g_wszWMDMHeight | Video or image height | WMDM_TYPE_DWORD | DWORD | |
g_wszWMDMAlbumCoverData | Album art JPEG byte blob | WMDM_TYPE_BINARY | BYTE* | |
g_wszWMDMBuyNow | Purchase this album (required for album art) | WMDM_TYPE_BOOL | BOOL | |
g_wszWMDMNonConsumable | Whether content is stored as an opaque data blob on the device. If so, the device does not need to understand the format or render it. | WMDM_TYPE_BOOL | BOOL | |
g_wszAudioWAVECodec | Audio codec | WMDM_TYPE_DWORD | DWORD | |
g_wszVideoFourCCCodec | Video codec | WMDM_TYPE_DWORD | DWORD | |
g_wszWMDMAlbumCoverFormat | Album art format | WMDM_TYPE_DWORD | DWORD | |
g_wszWMDMAlbumCoverSize | Album art size | WMDM_TYPE_DWORD | DWORD | |
g_wszWMDMAlbumCoverHeight | Album art height | WMDM_TYPE_DWORD | DWORD | |
g_wszWMDMAlbumCoverWidth | Album art width | WMDM_TYPE_DWORD | DWORD | |
g_wszWMDMAlbumCoverDuration | Album cover duration | WMDM_TYPE_DWORD | DWORD | |
g_wszWMDMTotalBitrate | Total bit rate | WMDM_TYPE_DWORD | DWORD | |
g_wszWMDMSampleRate | Sample rate | WMDM_TYPE_DWORD | DWORD | |
g_wszWMDMNumChannels | Number of channels | WMDM_TYPE_DWORD | DWORD | |
g_wszWMDMAudioBitDepth | Audio bit depth | WMDM_TYPE_DWORD | DWORD | |
g_wszWMDMFrameRate | Frame rate | WMDM_TYPE_DWORD | DWORD | |
g_wszWMDMScanType | Scan type | WMDM_TYPE_DWORD | DWORD | |
g_wszWMDMKeyFrameDistance | Key frame distance | WMDM_TYPE_DWORD | DWORD | |
g_wszWMDMBufferSize | Buffer size | WMDM_TYPE_DWORD | DWORD | |
g_wszWMDMQualitySetting | Quality setting | WMDM_TYPE_DWORD | DWORD | |
g_wszWMDMMediaOriginalChannel | Channel that episode was recorded from | WMDM_TYPE_STRING | LPCWSTR | |
g_wszWMDMBlockAlignment | Block alignment | WMDM_TYPE_DWORD | DWORD | |
g_wszWMDMUserRatingOnDevice | User sets rating changed on device. | WMDM_TYPE_DWORD | DWORD | |
g_wszWMDMDevicePlayCount | Playback count on device | WMDM_TYPE_DWORD | DWORD | |
g_wszWMDMBitrate | Audio bit rate | WMDM_TYPE_DWORD | DWORD | |
g_wszWMDMVideoBitrate | Video bit rate | WMDM_TYPE_DWORD | DWORD | |
g_wszWMDMIsProtected | Whether content is DRM protected | WMDM_TYPE_BOOL | BOOL | |
g_wszWMDMSyncID | Application generated GUID for sync purposes | WMDM_TYPE_STRING | LPCWSTR | |
g_wszWMDMUserLastPlayTime | Last listened to or viewed time stamp | WMDM_TYPE_DATE | WMDMDATETIME | |
g_wszWMDMMediaCredits | TV credits (actors, director, producers) | WMDM_TYPE_STRING | LPCWSTR | |
g_wszWMDMMediaOriginalBroadcastDateTime | Date that episode first aired | WMDM_TYPE_DATE | WMDMDATETIME | |
g_wszWMDMTrackMood | Track's mood | WMDM_TYPE_STRING | LPCWSTR | |
g_wszWMDMIsRepeat | True if not the first time episode has aired | WMDM_TYPE_BOOL | BOOL | |
g_wszWMDMSyncTime | Device time stamp when copied | WMDM_TYPE_DATE | WMDMDATETIME | |
g_wszWMDMMetaGenre | Content type derived from primary & secondary Class ID | WMDM_TYPE_STRING | LPCWSTR | |
g_wszWMDMLastModifiedDate | Date/time file was last modified | WMDM_TYPE_DATE | WMDMDATETIME | IWMDMStorage::GetDate |
See Also