Freigeben über


Arbeiten mit lokalisierten Systemprofilen

[Das dieser Seite zugeordnete Feature Windows Media Format 11 SDK ist ein Legacyfeature. Es wurde von Source Reader und Sink Writer abgelöst. Source Reader und Sink Writer wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code nach Möglichkeit quellleser und Senkenschreiber anstelle des Windows Media Format 11 SDK verwendet. Microsoft schlägt vor, dass vorhandener Code, der die Legacy-APIs verwendet, so umgeschrieben wird, dass nach Möglichkeit die neuen APIs verwendet werden.]

Das Windows Media Format SDK enthält Systemprofile mit Namen und Beschreibungen in mehreren Sprachen. Die lokalisierten PRX-Dateien des Systemprofils werden im Ordner [SDKRoot]\WMSDK\WMFSDK9\LocalizedProfiles installiert. Um mit den IWMProfileManagerLanguage-Methoden auf eine bestimmte Datei zuzugreifen, müssen Sie sie zusammen mit den anderen Systemprofildateien in das Systemstammverzeichnis verschieben. Eine Liste der lokalisierten Systemprofildateien finden Sie unter Lokalisierte Systemprofile.

Sie können die Systemprofilsprache mithilfe der Methoden der IWMProfileManagerLanguage-Schnittstelle festlegen oder abrufen. Die Sprache wird als LANGID-Wert angegeben, der aus einem primären Sprachbezeichner und einem sekundären Sprachbezeichner besteht. Der folgende Code veranschaulicht, wie die aktuelle Sprache abgerufen wird. Die Standardsprache ist US-Englisch (0x409). Weitere Informationen zur Verwendung dieses Codes finden Sie unter Verwenden der Codebeispiele.

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;
}

Verwenden von Systemprofilen