Partager via


IWiaErrorHandler ::ReportStatus, méthode (wia_lh.h)

La méthode ReportStatus affiche des informations sur une erreur ou un état pendant un transfert. Dans certains cas, cette méthode permet à l’utilisateur de récupérer à partir d’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.

[in] hwndParent

Handle fourni par l’appelant de la fenêtre qui 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 transféré.

[in] hrStatus

Variable HRESULT qui contient le code d’état reçu par la méthode de transfert WIA, par exemple la méthode IWiaDataCallback ::BandedDataCallback.

[in] lPercentComplete

Taille des données, en octets, le pointeur pbData fait référence.

Valeur de retour

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. Il existe des informations supplémentaires sur les valeurs de retour dans la section remarques. Sinon, cette méthode retourne l’une des valeurs suivantes :

Retourner le code Description
S_OK Une action appropriée a été effectuée 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 l’état à l’utilisateur.

Remarques

L’objet de rappel du 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 d’état et peut-être donner la possibilité de récupérer à partir de l’erreur et de poursuivre le transfert. L’interface utilisateur doit fournir uniquement une boîte de dialogue d’information et une chance d’annuler le transfert si HRESULT est SEVERITY_SUCCESS.

Un pilote qui implémente cette méthode doit afficher une boîte de dialogue modale, détenue par 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 l’état 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 aucune erreur n’est en vigueur.

Exigences

Exigence Valeur
plateforme cible Bureau
d’en-tête wia_lh.h (inclure Wia_lh.h)

Voir aussi

IWiaErrorHandler

IWiaErrorHandler ::GetStatusDescription