MFP_ACQUIRE_USER_CREDENTIAL_EVENT结构 (mfplay.h)

重要 废弃。 此 API 可能会从 Windows 的未来版本中删除。 应用程序应使用 媒体会话 进行播放。
 

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::CreateMediaItemFromURLIMFPMediaPlayer::CreateMediaItemFromObject 来创建媒体项时,将指定此值。

如果在创建媒体项之前和应用程序接收MFP_EVENT_TYPE_MEDIAITEM_CREATED事件之前) ,则会 (发送 事件。 可以使用 dwUserData 的值来标识需要身份验证的媒体项。

fProceedWithAuthentication

在从 IMFPMediaPlayerCallback::OnMediaPlayerEvent 事件回调返回之前,应用程序应将此成员设置为 TRUEFALSE

如果回调返回时值为 TRUE ,则 MFPlay 将继续尝试身份验证。 否则,身份验证将失败。

hrAuthenticationStatus

身份验证质询的响应代码。

pwszURL

需要身份验证的原始 URL。

pwszSite

需要身份验证的站点或代理的名称。

pwszRealm

此身份验证的领域的名称。

pwszPackage

身份验证包的名称,例如“Digest”或“MBS_BASIC”。

nRetries

重试次数。 此成员在第一次尝试时设置为零,并在每次后续尝试时递增一次。

flags

_MFP_CREDENTIAL_FLAGS 枚举中零个或多个标志的按位 OR

pCredential

指向 IMFNetCredential 接口的 指针。 应用程序使用此接口来设置用户的凭据。

注解

若要获取指向此结构的指针,请强制转换 IMFPMediaPlayerCallback::OnMediaPlayerEvent 回调方法的 pEventHeader 参数。 可以使用 MFP_GET_ACQUIRE_USER_CREDENTIAL_EVENT 宏实现此目的。

如果 flags 成员包含 MFP_CREDENTIAL_PROMPT 标志,则应用程序应执行以下操作:

  1. 提示用户输入用户名和密码。
  2. 通过在 pCredential 指针上调用 IMFNetCredential::SetUser ,将用户名存储在凭据对象
  3. 通过在 pCredential 指针上调用 IMFNetCredential::SetPassword 来存储密码。
若要取消身份验证,请将 fProceedWithAuthentication 设置为等于 FALSE

默认情况下,MFPlay 使用网络源实现的 IMFNetCredentialManager 来管理凭据。 应用程序可以提供自己的此接口实现,如下所示:

  1. IMFPMediaPlayer 指针上调用 QueryInterface 以获取 IPropertyStore 接口。
  2. 调用 IPropertyStore::SetValue 以设置 MFNETSOURCE_CREDENTIAL_MANAGER 属性。

要求

要求
最低受支持的客户端 Windows 7 [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 R2 [仅限桌面应用]
标头 mfplay.h

另请参阅

IMFPMediaPlayerCallback

媒体基础结构

使用 MFPlay 播放音频/视频