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 |
---|---|
|
L’opération doit continuer. |
|
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 |