структура MFP_ACQUIRE_USER_CREDENTIAL_EVENT (mfplay.h)
Структура события MFP_EVENT_TYPE_ACQUIRE_USER_CREDENTIAL . Это событие отправляется, если приложение воспроизводит файл мультимедиа с сервера, требующего проверки подлинности. Приложение может ответить, предоставив учетные данные пользователя.
Синтаксис
typedef struct MFP_ACQUIRE_USER_CREDENTIAL_EVENT {
MFP_EVENT_HEADER header;
DWORD_PTR dwUserData;
BOOL fProceedWithAuthentication;
HRESULT hrAuthenticationStatus;
LPCWSTR pwszURL;
LPCWSTR pwszSite;
LPCWSTR pwszRealm;
LPCWSTR pwszPackage;
LONG nRetries;
MFP_CREDENTIAL_FLAGS flags;
IMFNetCredential *pCredential;
} MFP_ACQUIRE_USER_CREDENTIAL_EVENT;
Члены
header
MFP_EVENT_HEADER структура, содержащая данные, общие для всех событий IMFPMediaPlayer .
dwUserData
Определяемые приложением пользовательские данные для элемента мультимедиа. Это значение указывается, когда приложение вызывает IMFPMediaPlayer::CreateMediaItemFromURL или IMFPMediaPlayer::CreateMediaItemFromObject для создания элемента мультимедиа.
Это событие отправляется (если вообще) до создания элемента мультимедиа и до того, как приложение получит событие MFP_EVENT_TYPE_MEDIAITEM_CREATED . Вы можете использовать значение dwUserData , чтобы определить, какой элемент мультимедиа требует проверки подлинности.
fProceedWithAuthentication
Приложение должно задать для этого элемента значение TRUE или FALSE перед возвратом из обратного вызова события IMFPMediaPlayerCallback::OnMediaPlayerEvent .
Если при обратном вызове возвращается значение TRUE , MFPlay продолжает попытку проверки подлинности. В противном случае проверка подлинности завершается сбоем.
hrAuthenticationStatus
Код ответа запроса проверки подлинности.
pwszURL
Исходный URL-адрес, требующий проверки подлинности.
pwszSite
Имя сайта или прокси-сервера, требующего проверки подлинности.
pwszRealm
Имя области для этой проверки подлинности.
pwszPackage
Имя пакета проверки подлинности, например "Digest" или "MBS_BASIC".
nRetries
Количество повторных попыток. При первой попытке для этого элемента устанавливается нулевое значение и увеличивается один раз для каждой последующей попытки.
flags
Побитовое ИЛИ с нулевым или несколькими флагами из перечисления _MFP_CREDENTIAL_FLAGS .
pCredential
Указатель на интерфейс IMFNetCredential . Приложение использует этот интерфейс для задания учетных данных пользователя.
Комментарии
Чтобы получить указатель на эту структуру, приведите параметр pEventHeader метода обратного вызова IMFPMediaPlayerCallback::OnMediaPlayerEvent . Для этой цели можно использовать макрос MFP_GET_ACQUIRE_USER_CREDENTIAL_EVENT .
Если элемент flags содержит флаг MFP_CREDENTIAL_PROMPT , приложение должно сделать следующее:
- Предложите пользователю ввести имя пользователя и пароль.
- Сохраните имя пользователя в объекте учетных данных, вызвав IMFNetCredential::SetUser для указателя pCredential .
- Сохраните пароль, вызвав МЕТОД IMFNetCredential::SetPassword в указателе pCredential .
По умолчанию MFPlay использует сетевую реализацию IMFNetCredentialManager для управления учетными данными. Приложение может предоставить собственную реализацию этого интерфейса следующим образом:
- Вызовите QueryInterface для указателя IMFPMediaPlayer , чтобы получить интерфейс IPropertyStore .
- Вызовите метод IPropertyStore::SetValue , чтобы задать свойство MFNETSOURCE_CREDENTIAL_MANAGER .
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 7 [только классические приложения] |
Минимальная версия сервера | Windows Server 2008 R2 [только классические приложения] |
Верхняя часть | mfplay.h |
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по