Поделиться через


Метод 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 .

Код возврата Описание
S_OK
Операция должна быть продолжена.
WMDM_E_USER_CANCELLED
Диспетчер устройств 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

См. также раздел

Включение уведомлений

Интерфейс IWMDMProgress3

IWMDMProgress::Begin