Compartilhar via


Método IMFMetadata::GetAllLanguages (mfidl.h)

Obtém uma lista dos idiomas nos quais os metadados estão disponíveis.

Sintaxe

HRESULT GetAllLanguages(
  [out] PROPVARIANT *ppvLanguages
);

Parâmetros

[out] ppvLanguages

Um ponteiro para um PROPVARIANT que recebe a lista de idiomas. A lista é retornada como uma matriz de cadeias de caracteres largos terminadas em nulo. Cada cadeia de caracteres na matriz é uma marca de idioma compatível com RFC 1766.

O tipo PROPVARIANT retornado é VT_VECTOR | VT_LPWSTR. A lista poderá estar vazia, se nenhuma marca de idioma estiver presente. O chamador deve liberar o PROPVARIANT chamando PropVariantClear.

Retornar valor

Se o método for bem-sucedido, ele retornará S_OK. Caso contrário, ele retornará um código de erro HRESULT.

Comentários

Para obter mais informações sobre marcas de idioma, consulte RFC 1766, "Marcas para a identificação de idiomas".

Para definir o idioma atual, chame IMFMetadata::SetLanguage.

Exemplos

O exemplo a seguir mostra como obter a lista de marcas de idioma e enumerar a lista.

HRESULT DisplayLanguageList(IMFMetadata *pMetadata)
{
    PROPVARIANT varLangs;

    HRESULT hr = pMetadata->GetAllLanguages(&varLangs);
    if (SUCCEEDED(hr))
    {
        if (varLangs.vt == (VT_VECTOR | VT_LPWSTR))
        {
            for (ULONG i = 0; i < varLangs.calpwstr.cElems; i++)
            {
                wprintf(L"%s\n", varLangs.calpwstr.pElems[i]);
            }
        }
        else
        {
            hr = E_UNEXPECTED;
        }
        PropVariantClear(&varLangs);
    }
    return hr;
}

Requisitos

   
Cliente mínimo com suporte Windows Vista [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows Server 2008 [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho mfidl.h
Biblioteca Mfuuid.lib

Confira também

IMFMetadata

Metadados de mídia