Поделиться через


Загрузка системного профиля

[Функция, связанная с этой страницей, Windows Media Format 11 SDK, является устаревшей функцией. Он был заменен Читателем источника и Писателем стока. Читатель источников и Писатель приемника оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует использовать новый код средства чтения исходного кода и записи приемников вместо пакета SDK для Windows Media 11, когда это возможно. Корпорация Майкрософт предлагает, что существующий код, использующий устаревшие API, будет перезаписан для использования новых API, если это возможно.]

Чтобы внести изменения в системный профиль, необходимо загрузить его в объект профиля. Диспетчер профилей предоставляет два варианта загрузки системных профилей: по идентификатору и по индексу.

Идентификатор системного профиля — это значение GUID, назначенное системным профилем при его создании. Чтобы ознакомиться со списком констант GUID, связанных с системными профилями версии 8, см. в системных профилей. Константы GUID для предыдущих версий можно найти в файле заголовка WMSysPrf.h. Дополнительные сведения об этом и других файлах заголовков, входящих в состав Windows Media Format SDK, см. в файлах библиотеки и параметрах компилятора.

В следующем примере кода показано, как загрузить системный профиль с помощью идентификатора системного профиля. Для работы этого кода необходимо включить WMSysPrf.h и stdio.h. Дополнительные сведения об использовании этого кода см. в разделе Использование примеров кода.

IWMProfileManager* pProfileMgr = NULL;
IWMProfile*        pProfile    = NULL;

HRESULT hr = S_OK;

// Initialize COM.
hr = CoInitialize(NULL);

// Create a profile manager.
hr = WMCreateProfileManager(&pProfileMgr);

// Retrieve the data for the general-purpose broadband video profile.
hr = pProfileMgr->LoadProfileByID(WMProfile_V80_100Video, &pProfile);

// TODO: Perform whatever customizations are needed. For details about
// editing profiles, see Using Custom Profiles.

// Clean up.
pProfile->Release();
pProfile = NULL;
pProfileMgr->Release();
pProfileMgr = NULL;

Если вы не знаете, какой профиль вы хотите использовать, можно выполнить итерацию всех системных профилей конкретной версии с помощью методов GetSystemProfileCount и LoadSystemProfile интерфейса IWMProfileManager. Эти методы одновременно имеют дело только с одной версией системных профилей. Дополнительные сведения об изменении версии системного профиля см. в разделе Изменение версий системного профиля.

использование системных профилей