Metadata Constants
This is preliminary documentation and subject to change.
This topic documents a feature of the Windows Media Device Manager SDK. We recommend that you migrate your application to use the Windows Portable Devices API. For more information, see the Windows Portable Devices SDK.
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 metadata property constants have been defined for use in this SDK. These are defined in mswmdm.h.
Storage Metadata Constants
Storage property | Description | Windows Media Device Manager type | Underlying type |
g_wszAudioWAVECodec | Audio codec | WMDM_TYPE_DWORD | DWORD |
g_wszVideoFourCCCodec | Video codec | WMDM_TYPE_DWORD | DWORD |
g_wszWMDMAlbumArt | Whether or not the device supports album art | WMDM_TYPE_BOOL | BOOL |
g_wszWMDMAlbumArtist | Track's Album's Artists | WMDM_TYPE_STRING | LPCWSTR |
g_wszWMDMAlbumCoverData | Album art JPEG byte blob | WMDM_TYPE_BINARY | BYTE* |
g_wszWMDMAlbumCoverDuration | Album cover duration | WMDM_TYPE_DWORD | DWORD |
g_wszWMDMAlbumCoverFormat | Album art format | WMDM_TYPE_DWORD | DWORD |
g_wszWMDMAlbumCoverHeight | Album art height | WMDM_TYPE_DWORD | DWORD |
g_wszWMDMAlbumCoverSize | Album art size | WMDM_TYPE_DWORD | DWORD |
g_wszWMDMAlbumCoverWidth | Album art width | WMDM_TYPE_DWORD | DWORD |
g_wszWMDMAlbumTitle | Track's Album Title | WMDM_TYPE_STRING | LPCWSTR |
g_wszWMDMAudioBitDepth | Audio bit depth | WMDM_TYPE_DWORD | DWORD |
g_wszWMDBackReferences | A reference to the container object. For example, an audio object would use this property to reference a playlist. | WMDM_TYPE_STRING | LPCWSTR |
g_wszWMDMAuthor | Content author | WMDM_TYPE_STRING | LPCWSTR |
g_wszWMDMAuthorDate | Content authored date | WMDM_TYPE_DATE | WMDMDATETIME |
g_wszWMDMBitrate | Audio bit rate | WMDM_TYPE_DWORD | DWORD |
g_wszWMDMBitrateType | The MTP bit-rate type. (Currently not implemented.)
Valid values are: MTP_BITRATETYPE_DISCRETE (0x001) which indicates that CBR and a discrete set of bit rates are supported. MTP_BITRATETYPE_VARIABLE (0x0002) which indicates support for VBR. MTP_BITRATE_TYPE_FREE (0x0003) which indicates that CBR and bit-rate values are continuous over a specified range. |
WMDM_TYPE_DWORD | DWORD |
g_wszWMDMBlockAlignment | Block alignment | WMDM_TYPE_DWORD | DWORD |
g_wszWMDMBufferSize | Buffer size | WMDM_TYPE_DWORD | DWORD |
g_wszWMDMBuyNow | Purchase this album (required for album art) | WMDM_TYPE_BOOL | BOOL |
g_wszWMDMByteBookmark | A bookmark identifying the last position played or viewed in a media object. (This bookmark is a zero-based byte offset.) | WMDM_TYPE_QWORD | QWORD |
g_wszWMDMCategory | A text field indicating the genre of a media item | WMDM_TYPE_STRING | LPCWSTR |
g_wszWMDMCodec | Reserved for future use | WMDM_TYPE_DWORD | DWORD |
g_wszWMDMComposer | Music composer | WMDM_TYPE_STRING | LPCWSTR |
g_wszWMDMDataLength | The data length for the referenced object | WMDM_TYPE_QWORD | QWORD |
g_wszWMDMDataOffset | A zero-based offset to the referenced object | WMDM_TYPE_QWORD | QWORD |
g_wszWMDMDataUnits | The units used for the data length (g_wszWMDMDataLength) and the data units (g_wszWMDMDataUnits) properties.
Units are assumed to be bytes if this property is not set. |
WMDM_TYPE_DWORD | DWORD |
g_wszWMDMDescription | TV series or photo description | WMDM_TYPE_STRING | LPCWSTR |
g_wszWMDMDestinationURL | The URL associated with an object.
This property is typically used for a media cast (or related) object. |
WMDM_TYPE_STRING | LPCWSTR |
g_wszWMDMRMId | Reserved for future use | ||
g_wszWMDMDevicePlayCount | Playback count on device | WMDM_TYPE_DWORD | DWORD |
g_wszWMDMDuration | Media duration, in 100 ns units | WMDM_TYPE_QWORD | QWORD |
g_wszWMDMEditor | The email address for the managing editor associated with a media object.
This property is typically used to identify the managing editor for an RSS channel. |
WMDM_TYPE_STRING | LPCWSTR |
g_wszWMDMEncodingProfile | The WMV9 encoding profiles supported by a device | WMDM_TYPE_STRING | LPCWSTR |
g_wszWMDMFileAttributes | The attributes for a file object | WMDM_TYPE_QWORD | QWORD |
g_wszWMDMediaClassPrimaryID | Music, video, non-music audio, other | WMDM_TYPE_STRING | LPCWSTR |
g_wszWMDMFileCreationDate | File creation date | WMDM_TYPE_DATE | WMDMDATETIME |
g_wszWMDMFileName | File name. Equivalent to calling IWMDMStorage::GetName. | WMDM_TYPE_STRING | LPCWSTR |
g_wszWMDMFileSize | File size, in bytes. Equivalent to calling IWMDMStorage::GetSize. | WMDM_TYPE_QWORD | QWORD |
g_wszWMDMFormatCode | Format code for content format. It should be a WMDM_FORMATCODE
value. |
WMDM_TYPE_DWORD | WMDM_FORMATCODE |
g_wszWMDMFrameRate | Frame rate | WMDM_TYPE_DWORD | DWORD |
g_wszWMDMGenre | Track's Genre | WMDM_TYPE_STRING | LPCWSTR |
g_wszWMDMHeight | Video or image height | WMDM_TYPE_DWORD | DWORD |
g_wszWMDMIsProtected | Whether content is DRM protected | WMDM_TYPE_BOOL | BOOL |
g_wszWMDMIsRepeat | True if not the first time episode has aired | WMDM_TYPE_BOOL | BOOL |
g_wszWMDMKeyFrameDistance | Key frame distance | WMDM_TYPE_DWORD | DWORD |
g_wszWMDMLastModifiedDate | Date/time file was last modified. Equivalent to calling IWMDMStorage::GetDate. | WMDM_TYPE_DATE | WMDMDATETIME |
g_wszWMDMMediaClassSecondaryID | Audio books, music videos, talk radio, and so on | WMDM_TYPE_STRING | LPCWSTR |
g_wszWMDMMediaCredits | TV credits (actors, director, producers) | WMDM_TYPE_STRING | LPCWSTR |
g_wszWMDMMediaGuid | Globally unique identifier for the media content | WMDM_TYPE_STRING | LPCWSTR |
g_wszWMDMMediaOriginalBroadcastDateTime | Date that episode first aired | WMDM_TYPE_DATE | WMDMDATETIME |
g_wszWMDMMediaOriginalChannel | Channel that episode was recorded from | WMDM_TYPE_STRING | LPCWSTR |
g_wszWMDMMediaStationName | TV station call letters or name | WMDM_TYPE_STRING | LPCWSTR |
g_wszWMDMMetaGenre | Content type derived from primary & secondary Class ID | WMDM_TYPE_STRING | LPCWSTR |
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_wszWMDMNumChannels | Number of channels | WMDM_TYPE_DWORD | DWORD |
g_wszWMDMObjectBookmark | A bookmark (in milliseconds) that specifies the last position in the media object that was played or viewed | WMDM_TYPE_STRING | LPCWSTR |
g_wszWMDMOwner | The e-mail address for the owner of a media object | WMDM_TYPE_STRING | LPCWSTR |
g_wszWMDMParentalRating | Advisory rating | WMDM_TYPE_STRING | LPCWSTR |
g_wszWMDMPersistentUniqueID | Device-generated unique ID for storage | WMDM_TYPE_STRING | LPCWSTR |
g_wszWMDMPlayCount | Total count of file playback | WMDM_TYPE_DWORD | DWORD |
g_wszWMDMProviderCopyright | Copyright holder's name | WMDM_TYPE_STRING | LPCWSTR |
g_wszWMDMQualitySetting | Quality setting | WMDM_TYPE_DWORD | DWORD |
g_wszWMDMSampleRate | Sample rate | WMDM_TYPE_DWORD | DWORD |
g_wszWMDMScanType | Scan type | WMDM_TYPE_DWORD | DWORD |
g_wszWMDMSourceURL | The source URL for a media object | WMDM_TYPE_STRING | LPCWSTR |
g_wszWMDMSubTitle | TV episode title | WMDM_TYPE_STRING | LPCWSTR |
g_wszWMDMSubTitleDescription | TV episode description | WMDM_TYPE_STRING | LPCWSTR |
g_wszWMDMSyncID | Application generated GUID for sync purposes | WMDM_TYPE_STRING | LPCWSTR |
g_wszWMDMSyncTime | Device time stamp when copied | WMDM_TYPE_DATE | WMDMDATETIME |
g_wszWMDMTimeBookmark | A bookmark (in milliseconds) that specifies the last position played or viewed | WMDM_TYPE_QWORD | QWORD |
g_wszWMDMTimeToLive | The time (in minutes) until the content is updated | WMDM_TYPE_QWORD | QWORD |
g_wszWMDMTitle | Track title | WMDM_TYPE_STRING | LPCWSTR |
g_wszWMDMTotalBitrate | Total bit rate | WMDM_TYPE_DWORD | DWORD |
g_wszWMDMTrack | Track Number (1–99) | WMDM_TYPE_DWORD | DWORD |
g_wszWMDMTrackMood | Track's mood | WMDM_TYPE_STRING | LPCWSTR |
g_wszWMDMUserEffectiveRating | Calculated from user, service ratings, and play count | WMDM_TYPE_DWORD | DWORD |
g_wszWMDMUserLastPlayTime | Last listened to or viewed time stamp | WMDM_TYPE_DATE | WMDMDATETIME |
g_wszWMDMUserRating | User-set rating | WMDM_TYPE_DWORD | DWORD |
g_wszWMDMUserRatingOnDevice | User-set rating changed on device | WMDM_TYPE_DWORD | DWORD |
g_wszWMDMVideoBitrate | Video bit rate | WMDM_TYPE_DWORD | DWORD |
g_wszWMDMWebmaster | The e-mail address of the webmaster responsible for a media object | WMDM_TYPE_STRING | LPCWSTR |
g_wszWMDMWidth | Video or image width | WMDM_TYPE_DWORD | DWORD |
g_wszWMDMYear | Year the album was released | WMDM_TYPE_STRING | LPCWSTR |
Device Metadata Constants
Device property | Description | PROPVARIANT type(vt) | Comments |
g_wszWMDMSupportedDeviceProperties | Array of property names for properties supported by device | VT_BSTR | VT_ARRAY | |
g_wszWMDMDeviceFriendlyName | Friendly name of the device | VT_BSTR | |
g_wszWMDMFormatsSupported | Array of format codes for the formats supported by device | VT_UI4 | VT_ARRAY | |
g_wszWMDMFormatsSupportedAreOrdered | Indicates whether the format returned in the supported-formats array are ordered according to device preference.
If this property is set to TRUE, applications should transfer content using the format codes that appear first in the array. |
VT_BOOL | |
g_wszWMDMSyncRelationshipID | Sync relationship ID used by application | VT_BSTR | |
g_wszWMDMDeviceModelName | Device model name | VT_BSTR | |
g_wszWMDMDeviceFirmwareVersion | Firmware version | VT_UI4 | |
g_wszWMDMDeviceVendorExtension | Vendor extension supported by device | VT_BSTR | |
g_wszWMDMDeviceProtocol | Protocol used for communication between host and the device | VT_CLSID | Predefined values are:
WMDM_DEVICE_PROTOCOL_MTP, WMDM_DEVICE_PROTOCOL_RAPI, WMDM_DEVICE_PROTOCOL_MSC |
g_wszWMDMDeviceServiceProviderVendor | ID of the vendor providing a Windows Media Device Manager service provider for the device | VT_CLSID | Predefined values are:
WMDM_SERVICE_PROVIDER_VENDOR_MICROSOFT |
g_wszWMDMCollectionID | Reserved for future use. | VT_BSTR | |
g_wszWMDMDeviceRevocationInfo | The revocation information for a device.
This information would include elements like the revocation URL. |
VT_BSTR | |
g_wszWMDMSupportedDeviceProperties | Array of property names for properties supported by device | VT_BSTR | VT_ARRAY | |
g_wszWMDMDeviceFriendlyName | Friendly name of the device | VT_BSTR |
Windows Portable Devices Metadata Constants
Windows Portable Devices property |
Description | PROPVARIANT type(vt) |
Comments |
g_wszWPDPassthroughPropertyValues | A binary large object (or BLOB) used to set or retrieve Windows Portable Devices properties | WMDM_TYPE_BINARY | Allows Windows Media Device Manager clients to read and write Windows Portable Device properties that are not found in Windows Media Device Manager.
Note that some Windows Portable Device properties may not be accessible. |
See Also