Метод IWMDMProgress3::Begin3 (mswmdm.h)
Метод Begin3 вызывается windows Media диспетчер устройств, чтобы указать, что операция вот-вот начнется. По возможности предоставляется оценка длительности операции. Этот метод расширяет возможности IWMDMProgress::Begin , предоставляя дополнительные входные параметры для идентификации (идентификатора) события и указателя на необязательный контекст команд. Операция определяется идентификатором события. Метод позволяет вызывающей объекту передавать непрозрачную структуру данных в приложение.
Синтаксис
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 |
Этот идентификатор события используется для уведомления приложения с помощью заголовка 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 |
Header | mswmdm.h |
Библиотека | Mssachlp.lib |