スキャナの電源状態がOFFの場合でもCheckDeviceOnlineエラーが発生しません。

文書番号 : 32947     文書種別 : 技術情報     登録日 : 2012/05/10     最終更新日 : 2015/01/23
文書を印刷する
対象製品
LEADTOOLS 17.5J Imaging Pro
詳細
スキャナなどのTWAIN機器の接続状態、電源状態を確認するには、TWAIN機能(TWAIN Capability)のCAP_DEVICEONLINEを使用します。
以下の処理で、twCapabilityの値がFalse、もしくはエラーが返される場合は接続されていないか電源が入っていない状態と判断できます。

サンプルコード(VB.NET)
Try
    Dim twCapability As New Leadtools.Twain.TwainCapability
    twCapability = twnSession.GetCapability(TwainCapabilityType.DeviceOnline, TwainGetCapabilityMode.GetCurrent)
Catch ex As Leadtools.Twain.TwainException
    MessageBox.Show(ex.Message)
End Try

サンプルコード(C#)
try
{
    Leadtools.Twain.TwainCapability twCapability = new Leadtools.Twain.TwainCapability();
    twCapability = twnSession.GetCapability(TwainCapabilityType.DeviceOnline, TwainGetCapabilityMode.GetCurrent);
}
catch (Leadtools.Twain.TwainException ex)
{
    MessageBox.Show(ex.Message);
}

なお、通常、TwainExceptionCode.CheckDeviceOnlineエラーは、TwainSession.SelectSourceメソッド実行時にスキャナに電源が入っていない場合に発生します。

これはスキャナ選択時に、TWAIN 仕様 1.9のTWAIN機能であるCAP_DEVICEONLINEの状態で判定されます。
しかし、スキャナによってはTwainSession.SelectSourceメソッドによるスキャナ選択時に、この判定を行うものと行わないものがあり、必ずしもCheckDeviceOnlineエラーが返ってくるとは限りません。
スキャナの電源状態がOFFの場合でもInvalidStateエラーが発生する場合があります。
キーワード
問題 TWAIN