次の方法で共有


IWiaErrorHandler::ReportStatus メソッド (wia_lh.h)

ReportStatus メソッドは、転送中のエラーまたは状態に関する情報を表示します。 場合によっては、このメソッドを使用すると、ユーザーはエラーから回復できます。

構文

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

パラメーター

[in] lFlags

現在使用されていません。 ゼロに設定してください。

[in] hwndParent

呼び出し元は、ダイアログ ボックスの親ウィンドウとして使用する必要があるウィンドウのハンドルを指定します。 これが NULL に設定されている場合、ダイアログ ボックスは表示されません。

[in] pWiaItem2

転送されるIWiaItem2 項目へのポインター。

[in] hrStatus

WIA 転送メソッドによって受信された状態コードを含む HRESULT 変数 ( IWiaDataCallback::BandedDataCallback メソッドなど)。

[in] lPercentComplete

pbData ポインターが参照するデータのサイズ (バイト単位)。

戻り値

エラーを回復できない場合、またはユーザーが表示されたダイアログ ボックスに応じて転送を中止することを選択した場合は、標準の COM エラー コードを返します。 「解説」セクションの戻り値に関する追加情報があります。 それ以外の場合、このメソッドは次のいずれかの値を返します。

リターン コード 説明
S_OK エラーを修正するための適切なアクションが実行され、転送を続行できます。
S_FALSE ユーザーに対するエラーまたはレポートの状態を処理するためのアクションは実行されませんでした。

注釈

ドライバーが IWiaDataCallback::BandedDataCallback メソッドにIT_MSG_DEVICE_STATUS メッセージを送信すると、COM プロキシ コールバック オブジェクトは WiaErrorHandler::ReportStatus メソッドを呼び出します。 このメソッドが表示するダイアログ ボックスは、ユーザーにエラーまたは状態情報を提供し、場合によってはエラーから回復し、転送を続行する機会を提供します。 UI には、情報ダイアログ ボックスのみが表示され、HRESULT がSEVERITY_SUCCESSされている場合は転送を取り消す可能性があります。

このメソッドを実装するドライバーは、FAILED(hrStatus) が TRUE と評価される hrStatus の値に応答して、hwndParent が所有するモーダル ダイアログ ボックスを表示する必要があります。 FAILED(hrStatus) が FALSE と評価された場合、hrStatus の値は致命的でない遅延を表し、表示されるダイアログ ボックスはモードレスである必要があります。 転送の状態が変わったら、ダイアログ ボックスを削除する必要があります。 エラー ハンドラーは 、hrStatus の不明な値のS_FALSEを返す必要があります。

hrStatus パラメーターは、転送が開始されたことをハンドラーに通知するためにWIA_STATUS_TRANSFER_BEGINに設定されます。 転送が完了すると、WIA_STATUS_TRANSFER_ENDに設定されます。

hrStatus がS_OKされている場合、データ転送は再開され、遅延やエラーは現在有効になりません。

要件

要件
対象プラットフォーム デスクトップ
Header wia_lh.h (Wia_lh.h を含む)

こちらもご覧ください

IWiaErrorHandler

IWiaErrorHandler::GetStatusDescription