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 |
---|---|
|
La operación debe continuar. |
|
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 |