共用方式為


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
程式庫 Mfuuid.lib

另請參閱

IMFMetadata

媒體中繼資料