Compartir a través de


Método IWMDMProgress3::P rogress3 (mswmdm.h)

Windows Media llama al método Progress3 Administrador de dispositivos para indicar el estado de una acción en curso. Este método extiende IWMDMProgress::P rogress proporcionando parámetros de entrada adicionales para la identificación (ID) del evento y para un puntero al contexto de los comandos.

Sintaxis

HRESULT Progress3(
  [in]      GUID          EventId,
  [in]      DWORD         dwTranspiredTicks,
  [in, out] OPAQUECOMMAND *pContext
);

Parámetros

[in] EventId

GUID que especifica el identificador de evento para el que se envían las notificaciones de progreso. En la siguiente tabla se muestran los valores posibles.

Evento Descripción
SCP_EVENTID_ACQSECURECLOCK Windows Media Administrador de dispositivos está obteniendo un reloj seguro del servidor.
SCP_EVENTID_NEEDTOINDIV El dispositivo se está individualizando. Actualmente no se usa.
SCP_EVENTID_DRMINFO Este identificador de evento se usa para notificar a la aplicación el encabezado DRM de versión que se encuentra en el contenido de cada archivo.

La estructura OPAQUECOMMAND devuelta tiene el parámetro guidCommand establecido en SCP_PARAMID_DRMVERSION.

Además, los datos especifican una de las marcas siguientes:

WMDM_SCP_DRMINFO_NOT_DRMPROTECTED

WMDM_SCP_DRMINFO_V1HEADER

WMDM_SCP_DRMINFO_V2HEADER

EVENT_WMDM_CONTENT_TRANSFER El contenido se transfiere a o desde el dispositivo.

[in] dwTranspiredTicks

DWORD especificando el número de tics que han transcurrido hasta ahora.

[in, out] pContext

Puntero a una estructura OPAQUECOMMAND que contiene un comando enviado directamente al dispositivo sin ser controlado por Windows Media Administrador de dispositivos. Este parámetro es opcional y puede ser NULL. Si el evento es SCP_EVENTID_DRMINFO, los datos de este parámetro tendrán el GUID de SCP_PARAMID_DRMVERSION.

Valor devuelto

La aplicación debe devolver uno de los siguientes valores HRESULT .

Código devuelto Descripción
S_OK
La operación debe continuar.
WMDM_E_USER_CANCELLED
Windows Media Administrador de dispositivos debe cancelar la operación actual sin esperar a que finalice. Si la aplicación usa el modo de bloqueo, Windows Media Administrador de dispositivos devolverá este error a la aplicación.

Comentarios

La interfaz que posee el método que implementa una operación llama al método Progress3 como la operación definida por el método se lleva a cabo. La intención es que se llame a Progress3 una vez por tic estimado. Sin embargo, el parámetro dwTranspiredTicks debe comprobarse en cada llamada porque la operación que se realiza puede no garantizar una llamada para cada tic estimado.

La aplicación devuelve S_OK al método que realiza la llamada para indicar que la operación debe continuar. La aplicación devuelve WMDM_E_USER_CANCELLED para indicar que se debe cancelar la operación. Si la aplicación usa el modo de bloqueo y devuelve WMDM_E_USER_CANCELLED, Windows Media Administrador de dispositivos devolverá este mismo error a la aplicación.

Ejemplos

El siguiente código de C++ muestra una implementación de ejemplo de Progress3.


HRESULT Progress3(GUID  EventId, DWORD  dwTranspiredTicks, OPAQUECOMMAND*  pContext)
{
    WCHAR strGuid[64];
    ZeroMemory(strGuid, 64);
    StringFromGUID2(reinterpret_cast<GUID&>(EventId),(LPOLESTR)strGuid, 64);
    // TODO: Display the message: "Progress3 called. GUID value: " 
    // followed by the strGUID value.
    // TODO: Display the message: "Progress3 dwTranspiredTicks: " 
    // followed by the dwTranspiredTicks value.

    return S_OK;
}

Requisitos

Requisito Value
Plataforma de destino Windows
Encabezado mswmdm.h
Library Mssachlp.lib

Consulte también

Habilitación de notificaciones

IWMDMProgress3 (Interfaz)

IWMDMProgress::P rogress