次の方法で共有


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

現在使用されていません。 0 に設定する必要があります。

[in] hwndParent

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

[in] pWiaItem2

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

[in] hrStatus

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

[in] lPercentComplete

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

戻り値

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

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

備考

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

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

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

hrStatus がS_OKされている場合、データ転送は再開され、遅延やエラーは現在有効です。

必要条件

要件 価値
ターゲット プラットフォーム デスクトップ
ヘッダー wia_lh.h (Wia_lh.h を含む)

関連項目

IWiaErrorHandler

IWiaErrorHandler::GetStatusDescription