Méthode IWMDMStorage3 ::SetMetadata (mswmdm.h)
La méthode SetMetadata définit les métadonnées sur le stockage.
Syntaxe
HRESULT SetMetadata(
[in] IWMDMMetaData *pMetadata
);
Paramètres
[in] pMetadata
Pointeur IWMDMMetaData contenant des métadonnées à définir sur l’objet. Pour créer cette interface, appelez CreateEmptyMetadataObject.
Valeur retournée
Cette méthode retourne un code HRESULT. Toutes les méthodes d’interface dans Windows Media Gestionnaire de périphériques peuvent retourner l’une des classes de codes d’erreur suivantes :
- Codes d’erreur COM standard
- Codes d’erreur Windows convertis en valeurs HRESULT
- Codes d’erreur Gestionnaire de périphériques Windows Media
Remarques
Les propriétés existantes dans le stockage portant le même nom sont remplacées. Toutes les autres propriétés existantes ne sont pas modifiées ou perdues.
Pour définir les propriétés d’un appareil Windows Portable Devices (WPD), une application crée un objet IPortableDeviceValues et définit chaque propriété dans cette collection. Ensuite, l’application sérialise la collection en un objet BLOB (Binary Large Object). Une fois les données sérialisées, l’application les ajoute à L’IWMDMMetaData référencé par l’argument pMetadata à l’aide de la constante de métadonnées g_wszWPDPassthroughPropertyValues.
Exemples
Le code C++ suivant ajoute un sous-titre en tant que métadonnées à un stockage (pStorage3) à l’aide de l’interface IWMDMMetaData récupérée à partir du stockage précédemment (non affiché).
// Set metadata values on a storage.
WCHAR* station = L"Mysubtitle";
UINT numBytes = (wcslen(station) + 1) * sizeof(WCHAR); // WCHAR string is 2 * length of characters long
// plus the terminating null character.
hr = pMetadata->AddItem(WMDM_TYPE_STRING, g_wszWMDMMediaStationName, (BYTE*)station, numBytes) ;
BREAK_HR(hr, "Added a metadata value to the interface in TestUpdateMetadata.", "Couldn't add a metadata value to the interface in TestUpdateMetadata.");
// Add the metadata to the storage.
hr = pStorage3->SetMetadata(pMetadata);
BREAK_HR(hr, "Set metadata on the storage in TestUpdateMetadata.", "Couldn't set metadata on the storage in TestUpdateMetadata: " << hex << hr << dec);
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Windows |
En-tête | mswmdm.h |
Bibliothèque | Mssachlp.lib |