IMFMetadata::GetAllLanguages メソッド (mfidl.h)
メタデータを使用できる言語の一覧を取得します。
構文
HRESULT GetAllLanguages(
[out] PROPVARIANT *ppvLanguages
);
パラメーター
[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 |