Compartir a través de


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

Obtiene una lista de los idiomas en los que están disponibles los metadatos.

Sintaxis

HRESULT GetAllLanguages(
  [out] PROPVARIANT *ppvLanguages
);

Parámetros

[out] ppvLanguages

Puntero a un PROPVARIANT que recibe la lista de idiomas. La lista se devuelve como una matriz de cadenas de caracteres anchos terminadas en NULL. Cada cadena de la matriz es una etiqueta de idioma compatible con RFC 1766.

El tipo PROPVARIANT devuelto es VT_VECTOR | VT_LPWSTR. La lista puede estar vacía, si no hay etiquetas de idioma presentes. El autor de la llamada debe liberar el PROPVARIANT llamando a PropVariantClear.

Valor devuelto

Si este método se realiza correctamente, devuelve S_OK. De lo contrario, devuelve un código de error de HRESULT.

Comentarios

Para obtener más información sobre las etiquetas de idioma, vea RFC 1766, "Etiquetas para la identificación de idiomas".

Para establecer el idioma actual, llame a IMFMetadata::SetLanguage.

Ejemplos

En el ejemplo siguiente se muestra cómo obtener la lista de etiquetas de idioma y enumerar la 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 compatible Windows Vista [aplicaciones de escritorio | aplicaciones para UWP]
Servidor mínimo compatible Windows Server 2008 [aplicaciones de escritorio | aplicaciones para UWP]
Plataforma de destino Windows
Encabezado mfidl.h
Library Mfuuid.lib

Consulte también

IMFMetadata

Metadatos multimedia