Metodo IWMDMStorage3::SetMetadata (mswmdm.h)
Il metodo SetMetadata imposta i metadati nell'archiviazione.
Sintassi
HRESULT SetMetadata(
[in] IWMDMMetaData *pMetadata
);
Parametri
[in] pMetadata
Puntatore IWMDMMetaData contenente metadati da impostare nell'oggetto. Per creare questa interfaccia, chiamare CreateEmptyMetadataObject.
Valore restituito
Il metodo restituisce un HRESULT. Tutti i metodi di interfaccia in Windows Media Gestione dispositivi possono restituire una delle classi di codici di errore seguenti:
- Codici di errore COM standard
- Codici di errore di Windows convertiti in valori HRESULT
- Codici di errore di Windows Media Gestione dispositivi
Commenti
Le proprietà esistenti nell'archiviazione con lo stesso nome vengono sovrascritte. Tutte le altre proprietà esistenti non vengono modificate o perse.
Per impostare le proprietà per un dispositivo WPD (Windows Portable Devices), un'applicazione creerebbe un oggetto IPortableDeviceValues e imposta ogni proprietà in questa raccolta. Quindi, l'applicazione serializzerebbe la raccolta in un oggetto di grandi dimensioni binario (BLOB). Dopo aver serializzato i dati, l'applicazione lo aggiungerà alla costante metadati IWMDMMetaData a cui fa riferimento l'argomento pMetadata usando la costante dei metadati g_wszWPDPassthroughPropertyValues.
Esempio
Il codice C++ seguente aggiunge un sottotitolo come metadati a un archivio (pStorage3) usando l'interfaccia IWMDMMetaData recuperata dall'archiviazione precedentemente (non visualizzata).
// 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);
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Windows |
Intestazione | mswmdm.h |
Libreria | Mssachlp.lib |