Udostępnij przez


Praca z zlokalizowanymi profilami systemu

[Funkcja skojarzona z tą stroną, windows Media Format 11 SDK, jest starszą funkcją. Został zastąpiony przez Reader Źródła i Writer Zlewu. Czytnik źródła i Zapis ujścia zostały zoptymalizowane pod kątem systemów Windows 10 i Windows 11. Firma Microsoft zdecydowanie zaleca, aby nowy kod używał Source Reader i Sink Writer zamiast zestawu SDK Windows Media Format 11, jeśli to możliwe. Firma Microsoft sugeruje, że istniejący kod, który używa starszych interfejsów API, należy przepisać go do korzystania z nowych interfejsów API, jeśli to możliwe.]

Zestaw WINDOWS Media Format SDK zawiera profile systemowe z nazwami i opisami w kilku językach. Zlokalizowane pliki profilu systemowego .prx są instalowane w folderze [SDKRoot]\WMSDK\WMFSDK9\LocalizedProfiles. Aby uzyskać dostęp do określonego pliku za pomocą metody IWMProfileManagerLanguage, należy przenieść go do katalogu głównego systemu wraz z innymi plikami profilów systemowych. Aby uzyskać listę zlokalizowanych plików profilów systemowych, zobacz Zlokalizowane profile systemowe.

Język profilu systemu można ustawić lub pobrać przy użyciu metod interfejsu IWMProfileManagerLanguage. Język jest określany jako wartość LANGID, która składa się z identyfikatora języka podstawowego i identyfikatora języka pomocniczego. Poniższy kod pokazuje, jak uzyskać aktualny język. Domyślnym językiem jest angielski (0x409). Aby uzyskać więcej informacji na temat korzystania z tego kodu, zobacz Using the Code Examples.

HRESULT GetCurrentSystemProfileLanguage(IMWProfilManager* pProfileMgr)
{
    HRESULT hr = S_OK;

    IWMProfileManagerLanguage* pProfileMgrLang = NULL;

    // Get the profile manager language interface.
    hr = pProfileMgr->QueryInterface(IID_IWMProfileManagerLanguage,
                                     (void **) &pProfileMgrLang);
    if(FAILED(hr))
    {
        printf("Couldn't get IWMProfileManagerLanguage.\n");
        SAFE_RELEASE(pProfileMgrLang);
        return hr;
    }

    // Retrieve the current language (as a LANGID value)
    WORD wLangID = 0;
    hr = pProfileMgrLang->GetUserLanguageID(&wLangID);
    if(FAILED(hr))
    {
        printf("Could not get the current language.\n");
        SAFE_RELEASE(pProfileMgrLang);
        return hr;
    }

    printf("The current language ID is 0x%X\n", wLangID);

    SAFE_RELEASE(pProfileMgrLang);
    return S_OK;
}

przy użyciu profilów systemowych