Метод IMFInputTrustAuthority::RequestAccess (mfidl.h)
Запрашивает разрешение на выполнение указанного действия в потоке.
Синтаксис
HRESULT RequestAccess(
[in] MFPOLICYMANAGER_ACTION Action,
[out] IMFActivate **ppContentEnablerActivate
);
Параметры
[in] Action
Запрошенное действие, указанное в качестве члена перечисления MFPOLICYMANAGER_ACTION .
[out] ppContentEnablerActivate
Получает значение NULL или указатель на интерфейс IMFActivate . Интерфейс IMFActivate используется для создания объекта средства включения содержимого. Вызывающий объект должен освободить интерфейс . Дополнительные сведения см. в подразделе "Примечания".
Возвращаемое значение
Метод возвращает HRESULT. Допустимые значения включают, но не ограничиваются, значения, приведенные в следующей таблице.
Код возврата | Описание |
---|---|
|
Пользователь имеет разрешение на выполнение этого действия. |
|
Пользователь должен индивидуализировать приложение. |
|
Пользователь должен получить лицензию. |
Комментарии
Этот метод проверяет, имеет ли пользователь разрешение на выполнение указанного действия в потоке. ITA выполняет все действия, необходимые для проверки права пользователя на выполнение действия, например проверку лицензий.
Чтобы проверить права пользователя, ITA может потребоваться выполнить дополнительные действия, требующие взаимодействия с пользователем или согласия пользователя. Например, может потребоваться приобрести новую лицензию или индивидуализировать компонент DRM. В этом случае ITA создает объект активации для средства включения содержимого и возвращает интерфейс IMFActivate объекта активации в параметре ppContentEnablerActivate . Объект активации отвечает за создание включателя содержимого, предоставляющего интерфейс IMFContentEnabler . Средство включения содержимого используется следующим образом:
- Сеанс мультимедиа возвращает указатель IMFActivate на приложение.
- Приложение вызывает IMFActivate::ActivateObject для активации активатора содержимого.
- Приложение вызывает методы IMFContentEnabler для выполнения любых необходимых действий, таких как индивидуализация или получение лицензии. Объект content enabler должен инкапсулировать эту функциональность через интерфейс IMFContentEnabler .
- Сеанс мультимедиа снова вызывает RequestAccess .
- Если у пользователя уже есть разрешение на выполнение действия, метод возвращает S_OK и устанавливает для параметра *ppContentEnablerActivateзначение NULL.
- Если у пользователя нет разрешения, метод возвращает код сбоя и устанавливает для *ppContentEnablerActivateзначение NULL.
- Если ITA необходимо выполнить дополнительные действия, требующие взаимодействия с пользователем, метод возвращает код сбоя и возвращает указатель IMFActivate средства включения содержимого в ppContentEnablerActivate.
Поток может идти в несколько выходных данных, поэтому этот метод может вызываться несколько раз с разными действиями, один раз для каждого выхода.
Требования
Минимальная версия клиента | Windows Vista [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows Server 2008 [классические приложения | Приложения UWP] |
Целевая платформа | Windows |
Header | mfidl.h |
Библиотека | Mfuuid.lib |