Méthode IWiaErrorHandler ::ReportStatus (wia_lh.h)
La méthode ReportStatus affiche des informations sur une erreur ou un status pendant un transfert. Dans certains cas, cette méthode permet à l’utilisateur de récupérer après une erreur.
Syntaxe
HRESULT ReportStatus(
[in] LONG lFlags,
[in] HWND hwndParent,
[in] IWiaItem2 *pWiaItem2,
[in] HRESULT hrStatus,
[in] LONG lPercentComplete
);
Paramètres
[in] lFlags
Actuellement inutilisé. Doit être défini sur zéro (0).
[in] hwndParent
Le handle fourni par l’appelant de la fenêtre doit être utilisé comme fenêtre parente pour toutes les boîtes de dialogue. Si cette valeur est définie sur NULL, aucune boîte de dialogue ne doit être affichée.
[in] pWiaItem2
Pointeur vers l’élémentIWiaItem2 en cours de transfert.
[in] hrStatus
Variable HRESULT qui contient le code status reçu par la méthode de transfert WIA, par exemple la méthode IWiaDataCallback ::BandedDataCallback.
[in] lPercentComplete
Taille des données, en octets, auquel fait référence le pointeur pbData .
Valeur retournée
Retourne un code d’erreur COM standard si l’erreur ne peut pas être récupérée ou si l’utilisateur choisit d’abandonner le transfert en réponse à la boîte de dialogue affichée. Vous trouverez des informations supplémentaires sur les valeurs de retour dans la section remarques. Sinon, cette méthode retourne l’une des valeurs suivantes :
Code de retour | Description |
---|---|
S_OK | Les mesures appropriées ont été prises pour corriger l’erreur et le transfert peut continuer. |
S_FALSE | Aucune action n’a été effectuée pour gérer l’erreur ou signaler status à l’utilisateur. |
Remarques
L’objet de rappel de proxy COM appelle la méthode WiaErrorHandler ::ReportStatus lorsque le pilote envoie un message IT_MSG_DEVICE_STATUS à la méthode IWiaDataCallback ::BandedDataCallback . La boîte de dialogue affichée par cette méthode fournit à l’utilisateur des informations d’erreur ou de status et donne éventuellement la possibilité de récupérer de l’erreur et de poursuivre le transfert. L’interface utilisateur doit fournir uniquement une boîte de dialogue d’information et une possibilité d’annuler le transfert si le HRESULT est SEVERITY_SUCCESS.
Un pilote qui implémente cette méthode doit afficher une boîte de dialogue modale, appartenant à hwndParent, en réponse à une valeur de hrStatus pour laquelle FAILED(hrStatus) prend la valeur TRUE. Si FAILED(hrStatus) prend la valeur FALSE, la valeur dans hrStatus représente un délai non fatal et la boîte de dialogue affichée doit être sans mode. La boîte de dialogue doit être supprimée lorsque le status du transfert change. Un gestionnaire d’erreurs doit retourner S_FALSE pour les valeurs inconnues de hrStatus.
Le paramètre hrStatus est défini sur WIA_STATUS_TRANSFER_BEGIN pour informer le gestionnaire qu’un transfert a démarré. Il est défini sur WIA_STATUS_TRANSFER_END une fois le transfert terminé.
Si hrStatus est S_OK, le transfert de données a repris et aucun retard ou erreur n’est actuellement en vigueur.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Desktop (Expérience utilisateur) |
En-tête | wia_lh.h (include Wia_lh.h) |