Partager via


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

La méthode Progress3 est appelée par Windows Media Gestionnaire de périphériques pour indiquer la status d’une action en cours. Cette méthode étend IWMDMProgress ::P rogress en fournissant des paramètres d’entrée supplémentaires pour l’identification (ID) de l’événement et pour un pointeur vers le contexte des commandes.

Syntaxe

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

Paramètres

[in] EventId

GUID spécifiant l’ID d’événement pour lequel les notifications de progression sont envoyées. Les valeurs possibles sont présentées dans le tableau suivant.

Événement Description
SCP_EVENTID_ACQSECURECLOCK Windows Media Gestionnaire de périphériques acquiert une horloge sécurisée auprès du serveur.
SCP_EVENTID_NEEDTOINDIV L’appareil est en cours d’individualisation. Il n’est pas utilisé actuellement.
SCP_EVENTID_DRMINFO Cet ID d’événement est utilisé pour notifier l’application avec l’en-tête DRM de version trouvé dans le contenu de chaque fichier.

La structure OPAQUECOMMAND retournée a le paramètre guidCommand défini sur SCP_PARAMID_DRMVERSION.

En outre, les données spécifient l’un des indicateurs suivants :

WMDM_SCP_DRMINFO_NOT_DRMPROTECTED

WMDM_SCP_DRMINFO_V1HEADER

WMDM_SCP_DRMINFO_V2HEADER

EVENT_WMDM_CONTENT_TRANSFER Le contenu est transféré vers ou depuis l’appareil.

[in] dwTranspiredTicks

DWORD spécifiant le nombre de graduations qui se sont produites jusqu’à présent.

[in, out] pContext

Pointeur vers une structure OPAQUECOMMAND contenant une commande envoyée directement à l’appareil sans être gérée par Windows Media Gestionnaire de périphériques. Ce paramètre est facultatif et peut être NULL. Si l’événement est SCP_EVENTID_DRMINFO, les données de ce paramètre auront le GUID SCP_PARAMID_DRMVERSION.

Valeur retournée

L’application doit retourner l’une des valeurs HRESULT suivantes.

Code de retour Description
S_OK
L’opération doit continuer.
WMDM_E_USER_CANCELLED
Les Gestionnaire de périphériques Windows Media doivent annuler l’opération en cours sans attendre qu’elle se termine. Si l’application utilise le mode bloc, Windows Media Gestionnaire de périphériques retourne cette erreur à l’application.

Remarques

L’interface qui possède la méthode qui implémente une opération appelle la méthode Progress3 à mesure que l’opération définie par la méthode est effectuée. L’objectif est que Progress3 soit appelé une fois par graduation estimée. Toutefois, le paramètre dwTranspiredTicks doit être vérifié à chaque appel, car l’opération en cours d’exécution peut ne pas garantir un seul appel pour chaque graduation estimée.

L’application retourne S_OK à la méthode appelante pour indiquer que l’opération doit continuer. L’application retourne WMDM_E_USER_CANCELLED pour indiquer que l’opération doit être annulée. Si l’application utilise le mode bloc et retourne WMDM_E_USER_CANCELLED, Windows Media Gestionnaire de périphériques retourne cette même erreur à l’application.

Exemples

Le code C++ suivant montre un exemple d’implémentation 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;
}

Configuration requise

Condition requise Valeur
Plateforme cible Windows
En-tête mswmdm.h
Bibliothèque Mssachlp.lib

Voir aussi

Activation des notifications

IWMDMProgress3, interface

IWMDMProgress ::P rogress