スキャナの電源状態がOFFの場合でもCheckDeviceOnlineエラーが発生しません。
対象製品
LEADTOOLS 17.5J Imaging Pro
詳細
スキャナなどのTWAIN機器の接続状態、電源状態を確認するには、TWAIN機能(TWAIN Capability)のCAP_DEVICEONLINEを使用します。
以下の処理で、twCapabilityの値がFalse、もしくはエラーが返される場合は接続されていないか電源が入っていない状態と判断できます。
サンプルコード(VB.NET)
サンプルコード(C#)
なお、通常、TwainExceptionCode.CheckDeviceOnlineエラーは、TwainSession.SelectSourceメソッド実行時にスキャナに電源が入っていない場合に発生します。
これはスキャナ選択時に、TWAIN 仕様 1.9のTWAIN機能であるCAP_DEVICEONLINEの状態で判定されます。
しかし、スキャナによってはTwainSession.SelectSourceメソッドによるスキャナ選択時に、この判定を行うものと行わないものがあり、必ずしもCheckDeviceOnlineエラーが返ってくるとは限りません。
スキャナの電源状態がOFFの場合でもInvalidStateエラーが発生する場合があります。
以下の処理で、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