Share via


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)

Voir aussi

IWiaErrorHandler

IWiaErrorHandler ::GetStatusDescription