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

関連項目

IMFMetadata

メディア メタデータ