Compartilhar via


Método IWMDMProgress3::Begin3 (mswmdm.h)

O método Begin3 é chamado pelo Windows Media Gerenciador de Dispositivos para indicar que uma operação está prestes a começar. Uma estimativa da duração da operação é fornecida quando possível. Esse método estende IWMDMProgress::Begin fornecendo parâmetros de entrada adicionais para a identificação (ID) do evento e para um ponteiro para o contexto opcional dos comandos. A operação é identificada por uma ID de evento. O método permite que o chamador passe uma estrutura de dados opaca para o aplicativo.

Sintaxe

HRESULT Begin3(
  [in]      GUID          EventId,
  [in]      DWORD         dwEstimatedTicks,
  [in, out] OPAQUECOMMAND *pContext
);

Parâmetros

[in] EventId

Um GUID que identifica a operação que será iniciada. Os valores possíveis são mostrados na tabela a seguir.

Evento Descrição
SCP_EVENTID_ACQSECURECLOCK O Windows Media Gerenciador de Dispositivos está adquirindo um relógio seguro do servidor.
SCP_EVENTID_NEEDTOINDIV O dispositivo está sendo individualizado. Isso não é usado no momento.
SCP_EVENTID_DRMINFO Essa ID de evento é usada para notificar o aplicativo com o cabeçalho DRM de versão encontrado no conteúdo de cada arquivo.

A estrutura OPAQUECOMMAND retornada tem o membro guidCommand definido como SCP_PARAMID_DRMVERSION.

Além disso, o OPAQUECOMMAND especifica um dos seguintes sinalizadores:

WMDM_SCP_DRMINFO_NOT_DRMPROTECTED

WMDM_SCP_DRMINFO_V1HEADER

WMDM_SCP_DRMINFO_V2HEADER

EVENT_WMDM_CONTENT_TRANSFER O conteúdo está sendo transferido de ou para o dispositivo.

[in] dwEstimatedTicks

DWORD especificando o número estimado de tiques necessários para a conclusão da operação. O número de tiques passados em dwEstimatedTicks é uma estimativa de quantos tiques são necessários para que a operação seja concluída. Durante a operação, o método Progress3 é chamado para indicar quantos tiques ocorreram. Os aplicativos podem usar a estimativa para configurar mecanismos de exibição que mostram o progresso.

[in, out] pContext

Ponteiro para uma estrutura OPAQUECOMMAND que contém um comando enviado para o dispositivo sem ser manipulado por Gerenciador de Dispositivos do Windows Media. Esse parâmetro é opcional e pode ser NULL.

Retornar valor

O aplicativo deve retornar um dos seguintes valores HRESULT .

Código de retorno Descrição
S_OK
A operação deve continuar.
WMDM_E_USER_CANCELLED
Os Gerenciador de Dispositivos do Windows Media devem cancelar a operação atual sem esperar que ela seja concluída. Se o aplicativo estiver usando o modo de bloco, o Gerenciador de Dispositivos do Windows Media retornará esse erro ao aplicativo.

Comentários

O aplicativo retorna S_OK para indicar que uma operação deve ser continuada e WMDM_E_USER_CANCELLED para indicar que a operação deve ser cancelada. Se o aplicativo estiver usando o modo de bloco e retornar WMDM_E_USER_CANCELLED, o Windows Media Gerenciador de Dispositivos retornará esse mesmo erro ao aplicativo.

Exemplos

O código C++ a seguir mostra um exemplo de implementação de 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;
}

Requisitos

Requisito Valor
Plataforma de Destino Windows
Cabeçalho mswmdm.h
Biblioteca Mssachlp.lib

Confira também

Habilitando notificações

IWMDMProgress3 Interface

IWMDMProgress::Begin