Compartir a través de


Método IWMDMStorage3::SetMetadata (mswmdm.h)

El método SetMetadata establece los metadatos en el almacenamiento.

Sintaxis

HRESULT SetMetadata(
  [in] IWMDMMetaData *pMetadata
);

Parámetros

[in] pMetadata

Puntero IWMDMMetaData que contiene metadatos que se van a establecer en el objeto . Para crear esta interfaz, llame a CreateEmptyMetadataObject.

Valor devuelto

El método devuelve un valor HRESULT. Todos los métodos de interfaz de Windows Media Administrador de dispositivos pueden devolver cualquiera de las siguientes clases de códigos de error:

  • Códigos de error COM estándar
  • Códigos de error de Windows convertidos en valores HRESULT
  • Códigos de error de windows Media Administrador de dispositivos
Para obtener una lista extensa de posibles códigos de error, consulte Códigos de error.

Comentarios

Las propiedades existentes en el almacenamiento con el mismo nombre se sobrescriben. Todas las demás propiedades existentes no se modifican ni pierden.

Para establecer las propiedades de un dispositivo Windows Portable Devices (WPD), una aplicación crearía un objeto IPortableDeviceValues y establecería cada propiedad en esta colección. A continuación, la aplicación serializaría la colección en un objeto binario grande (BLOB). Una vez serializados los datos, la aplicación lo agregaría al IWMDMMetaData al que hace referencia el argumento pMetadata mediante la constante de metadatos g_wszWPDPassthroughPropertyValues.

Ejemplos

El siguiente código de C++ agrega un subtítulo como metadatos a un almacenamiento (pStorage3) mediante la interfaz IWMDMMetaData recuperada del almacenamiento anteriormente (no se muestra).


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

Requisitos

Requisito Value
Plataforma de destino Windows
Encabezado mswmdm.h
Library Mssachlp.lib

Consulte también

Interfaz IWMDMMetaData

Interfaz IWMDMStorage3

IWMDMStorage3::GetMetadata

Establecer metadatos en un archivo