Condividi tramite


Metodo IWiaErrorHandler::ReportStatus (wia_lh.h)

Il metodo ReportStatus visualizza informazioni su un errore o sullo stato durante un trasferimento. In alcuni casi questo metodo consente all'utente di eseguire il ripristino da un errore.

Sintassi

HRESULT ReportStatus(
  [in] LONG      lFlags,
  [in] HWND      hwndParent,
  [in] IWiaItem2 *pWiaItem2,
  [in] HRESULT   hrStatus,
  [in] LONG      lPercentComplete
);

Parametri

[in] lFlags

Attualmente inutilizzato. Deve essere impostato su zero.

[in] hwndParent

Il chiamante ha fornito l'handle della finestra che deve essere usata come finestra padre per qualsiasi finestra di dialogo. Se questa opzione è impostata su NULL, non verrà visualizzata alcuna finestra di dialogo.

[in] pWiaItem2

Puntatore all'elementoIWiaItem2da trasferire.

[in] hrStatus

Variabile HRESULT che contiene il codice di stato ricevuto dal metodo di trasferimento WIA, ad esempio il metodo IWiaDataCallback::BandedDataCallback.

[in] lPercentComplete

Le dimensioni dei dati, in byte, fanno riferimento al puntatore pbData.

Valore restituito

Restituisce un codice di errore COM standard se l'errore non può essere recuperato o se l'utente sceglie di interrompere il trasferimento in risposta alla finestra di dialogo visualizzata. Nella sezione osservazioni sono disponibili informazioni aggiuntive sui valori restituiti. In caso contrario, questo metodo restituisce uno dei valori seguenti:

Codice restituito Descrizione
S_OK È stata eseguita un'azione appropriata per correggere l'errore e il trasferimento può continuare.
S_FALSE Non è stata eseguita alcuna azione per gestire l'errore o segnalare lo stato all'utente.

Osservazioni

L'oggetto callback proxy COM chiama il metodo WiaErrorHandler::ReportStatus quando il driver invia un messaggio di IT_MSG_DEVICE_STATUS al metodo IWiaDataCallback::BandedDataCallback. La finestra di dialogo visualizzata da questo metodo fornisce all'utente informazioni sull'errore o sullo stato ed eventualmente offre la possibilità di recuperare dall'errore e continuare il trasferimento. L'interfaccia utente deve fornire solo una finestra di dialogo informativa e una possibilità di annullare il trasferimento se HRESULT è SEVERITY_SUCCESS.

Un driver che implementa questo metodo deve visualizzare una finestra di dialogo modale, di proprietà di hwndParent, in risposta a un valore di hrStatus per cui FAILED(hrStatus) restituisce TRUE. Se FAILED(hrStatus) restituisce FALSE, il valore in hrStatus rappresenta un ritardo non irreversibile e la finestra di dialogo visualizzata deve essere senza modalità. La finestra di dialogo deve essere rimossa quando lo stato del trasferimento cambia. Un gestore errori deve restituire S_FALSE per i valori sconosciuti di hrStatus.

Il parametro hrStatus è impostato su WIA_STATUS_TRANSFER_BEGIN per informare il gestore dell'avvio di un trasferimento. È impostato su WIA_STATUS_TRANSFER_END al termine del trasferimento.

Se hrStatus è S_OK, il trasferimento dei dati è stato ripreso e non è attualmente attivo alcun ritardo o errore.

Fabbisogno

Requisito Valore
piattaforma di destinazione Desktop
intestazione wia_lh.h (includere Wia_lh.h)

Vedere anche

IWiaErrorHandler

IWiaErrorHandler::GetStatusDescription