Partager via


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
Pour obtenir une liste complète des codes d’erreur possibles, consultez Codes d’erreur.

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

Voir aussi

IWMDMMetaData Interface

IWMDMStorage3 Interface

IWMDMStorage3 ::GetMetadata

Définition des métadonnées sur un fichier