IWMDMStorage3::SetMetadata-Methode (mswmdm.h)

Die SetMetadata-Methode legt Metadaten für den Speicher fest.

Syntax

HRESULT SetMetadata(
  [in] IWMDMMetaData *pMetadata
);

Parameter

[in] pMetadata

Ein IWMDMMetaData-Zeiger , der Metadaten enthält, die für das Objekt festgelegt werden sollen. Um diese Schnittstelle zu erstellen, rufen Sie CreateEmptyMetadataObject auf.

Rückgabewert

Die Methode gibt ein HRESULT zurück. Alle Schnittstellenmethoden in Windows Media Geräte-Manager können eine der folgenden Klassen von Fehlercodes zurückgeben:

  • Com-Standardfehlercodes
  • In HRESULT-Werte konvertierte Windows-Fehlercodes
  • Windows Media Geräte-Manager Fehlercodes
Eine ausführliche Liste möglicher Fehlercodes finden Sie unter Fehlercodes.

Hinweise

Vorhandene Eigenschaften im Speicher mit demselben Namen werden überschrieben. Alle anderen vorhandenen Eigenschaften werden nicht geändert oder verloren.

Um Eigenschaften für ein WPD-Gerät (Windows Portable Devices) festzulegen, erstellt eine Anwendung ein IPortableDeviceValues-Objekt und legt jede Eigenschaft in dieser Auflistung fest. Anschließend würde die Anwendung die Auflistung in ein binary large object (BLOB) serialisieren. Sobald die Daten serialisiert sind, fügt die Anwendung sie dem IWMDMMetaData hinzu, auf den das pMetadata-Argument mit der g_wszWPDPassthroughPropertyValues Metadatenkonstante verweist.

Beispiele

Der folgende C++-Code fügt einen Untertitel als Metadaten zu einem Speicher (pStorage3) mithilfe der IWMDMMetaData-Schnittstelle hinzu, die zuvor aus dem Speicher abgerufen wurde (nicht angezeigt).


// 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);

Anforderungen

Anforderung Wert
Zielplattform Windows
Kopfzeile mswmdm.h
Bibliothek Mssachlp.lib

Weitere Informationen

IWMDMMetaData-Schnittstelle

IWMDMStorage3-Schnittstelle

IWMDMStorage3::GetMetadata

Festlegen von Metadaten für eine Datei