IMFMetadata::GetAllLanguages 方法 (mfidl.h)

获取元数据可用语言的列表。

语法

HRESULT GetAllLanguages(
  [out] PROPVARIANT *ppvLanguages
);

parameters

[out] ppvLanguages

指向接收语言列表的 PROPVARIANT 的指针。 列表作为以 null 结尾的宽字符字符串数组返回。 数组中的每个字符串都是符合 RFC 1766 的语言标记。

返回的 PROPVARIANT 类型VT_VECTOR |VT_LPWSTR。 如果没有语言标记,列表可能为空。 调用方必须通过调用 PropVariantClear 释放 PROPVARIANT

返回值

如果该方法成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。

注解

有关语言标记的详细信息,请参阅 RFC 1766,“用于语言标识的标记”。

若要设置当前语言,请调用 IMFMetadata::SetLanguage

示例

以下示例演示如何获取语言标记列表并枚举该列表。

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

要求

   
最低受支持的客户端 Windows Vista [桌面应用 | UWP 应用]
最低受支持的服务器 Windows Server 2008 [桌面应用 | UWP 应用]
目标平台 Windows
标头 mfidl.h
Library Mfuuid.lib

另请参阅

IMFMetadata

媒体元数据