Compartilhar via


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

O método SetMetadata define metadados no armazenamento.

Sintaxe

HRESULT SetMetadata(
  [in] IWMDMMetaData *pMetadata
);

Parâmetros

[in] pMetadata

Um ponteiro IWMDMMetaData contendo metadados a serem definidos no objeto . Para criar essa interface, chame CreateEmptyMetadataObject.

Retornar valor

O método retorna um HRESULT. Todos os métodos de interface no Windows Media Gerenciador de Dispositivos podem retornar qualquer uma das seguintes classes de códigos de erro:

  • Códigos de erro COM padrão
  • Códigos de erro do Windows convertidos em valores HRESULT
  • Códigos de erro de Gerenciador de Dispositivos do Windows Media
Para obter uma ampla lista de possíveis códigos de erro, consulte Códigos de erro.

Comentários

As propriedades existentes no armazenamento com o mesmo nome são substituídas. Todas as outras propriedades existentes não são modificadas ou perdidas.

Para definir propriedades para um dispositivo WPD (Dispositivos Portáteis do Windows), um aplicativo criaria um objeto IPortableDeviceValues e definiria cada propriedade nesta coleção. Em seguida, o aplicativo serializaria a coleção para um BLOB (objeto binário grande). Depois que os dados forem serializados, o aplicativo os adicionará à IWMDMMetaData referenciada pelo argumento pMetadata usando a constante de metadados g_wszWPDPassthroughPropertyValues.

Exemplos

O código C++ a seguir adiciona um subtítulo como metadados a um armazenamento (pStorage3) usando a interface IWMDMMetaData recuperada do armazenamento anteriormente (não mostrada).


// 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 Valor
Plataforma de Destino Windows
Cabeçalho mswmdm.h
Biblioteca Mssachlp.lib

Confira também

IWMDMMetaData Interface

IWMDMStorage3 Interface

IWMDMStorage3::GetMetadata

Configurando metadados em um arquivo