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


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

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

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

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

В следующем примере кода показано, как загрузить системный профиль с помощью идентификатора системного профиля. Чтобы этот код работал, необходимо включить 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 . Эти методы одновременно имеют дело только с одной версией системных профилей. Дополнительные сведения об изменении версии системного профиля см. в разделе Изменение версий системного профиля.

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