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
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 |