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
在从 IMFPMediaPlayerCallback::OnMediaPlayerEvent 事件回调返回之前,应用程序应将此成员设置为 TRUE 或 FALSE。
如果回调返回时值为 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 标志,则应用程序应执行以下操作:
- 提示用户输入用户名和密码。
- 通过在 pCredential 指针上调用 IMFNetCredential::SetUser ,将用户名存储在凭据对象 中 。
- 通过在 pCredential 指针上调用 IMFNetCredential::SetPassword 来存储密码。
默认情况下,MFPlay 使用网络源实现的 IMFNetCredentialManager 来管理凭据。 应用程序可以提供自己的此接口实现,如下所示:
- 在 IMFPMediaPlayer 指针上调用 QueryInterface 以获取 IPropertyStore 接口。
- 调用 IPropertyStore::SetValue 以设置 MFNETSOURCE_CREDENTIAL_MANAGER 属性。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 7 [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 R2 [仅限桌面应用] |
标头 | mfplay.h |
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈