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 |