IWMDMProgress3::Begin3 方法 (mswmdm.h)
Windows Media 设备管理器调用 Begin3 方法以指示操作即将开始。 如果可能,会提供操作持续时间的估计值。 此方法通过为事件的标识 (ID) 和指向命令的可选上下文的指针提供其他输入参数来扩展 IWMDMProgress::Begin 。 操作由事件 ID 标识。 方法允许调用方将不透明的数据结构传递给应用程序。
语法
HRESULT Begin3(
[in] GUID EventId,
[in] DWORD dwEstimatedTicks,
[in, out] OPAQUECOMMAND *pContext
);
参数
[in] EventId
标识将开始的操作的 GUID 。 下表中显示了可能的值。
事件 | 说明 |
---|---|
SCP_EVENTID_ACQSECURECLOCK | Windows Media 设备管理器正在从服务器获取安全时钟。 |
SCP_EVENTID_NEEDTOINDIV | 设备正在个性化。 当前未使用此功能。 |
SCP_EVENTID_DRMINFO |
此事件 ID 用于使用每个文件的内容中找到的版本 DRM 标头通知应用程序。
返回的 OPAQUECOMMAND 结构将 guidCommand 成员设置为 SCP_PARAMID_DRMVERSION。 此外,OPAQUECOMMAND 指定以下标志之一: WMDM_SCP_DRMINFO_NOT_DRMPROTECTED WMDM_SCP_DRMINFO_V1HEADER WMDM_SCP_DRMINFO_V2HEADER |
EVENT_WMDM_CONTENT_TRANSFER | 正在向设备传输内容或从设备传输内容。 |
[in] dwEstimatedTicks
DWORD ,指定完成操作所需的估计时钟周期数。 dwEstimatedTicks 中传递的刻度数是完成操作所需的时钟周期数的估计值。 在操作过程中,将调用 Progress3 方法以指示已发生的时钟周期数。 应用程序可以使用估算配置显示进度的显示机制。
[in, out] pContext
指向 OPAQUECOMMAND 结构的指针,该结构包含发送到设备的命令,而无需由 Windows Media 设备管理器处理。 此参数是可选的,可以为 NULL。
返回值
应用程序应返回以下 HRESULT 值之一。
返回代码 | 说明 |
---|---|
|
操作应继续。 |
|
Windows Media 设备管理器应取消当前操作,而无需等待操作完成。 如果应用程序使用块模式,则 Windows Media 设备管理器 会将此错误返回给应用程序。 |
注解
应用程序返回S_OK指示应继续操作,WMDM_E_USER_CANCELLED指示应取消该操作。 如果应用程序使用块模式并返回WMDM_E_USER_CANCELLED,则 Windows Media 设备管理器 将向应用程序返回相同的错误。
示例
以下 C++ 代码演示 Begin3 的示例实现。
HRESULT Begin3(GUID EventId, DWORD dwEstimatedTicks, OPAQUECOMMAND* pContext)
{
WCHAR strGuid[64];
StringFromGUID2(reinterpret_cast<GUID&>(EventId),(LPOLESTR)strGuid, 64);
// TODO: Display the message "IWMDMProgress3::Begin3 called."
// followed by the strGuid value.
return S_OK;
}
要求
要求 | 值 |
---|---|
目标平台 | Windows |
标头 | mswmdm.h |
Library | Mssachlp.lib |