次の方法で共有


イベント コマンド

このセクションのコマンドは、デバイス イベントのサポートのために、マイクロドライバーによって使用されます。

CMD_GET_INTERRUPT_EVENT

デバイスからの割り込みを使用するボタン イベントのステータスを監視するため、別個のスレッドで WIA フラットベッド ドライバーによって呼び出されます (つまり、割り込みパイプを介してイベントを報告する USB デバイスの場合)。 デバイスがポーリングのみをサポートしている場合、このコマンドを実装する必要はなく、E_NOTIMPL が返されます。

2 つのイベント ハンドルがマイクロドライバーに渡されます。 VAL 構造の lVal メンバーは、ボタン イベントが発生したときに SetEvent 関数を使用してマイクロドライバーによって通知されるイベント ハンドルを保持します。 VAL 構造の handle メンバーは、ドライバーがアンロードまたはシャットダウンされるときに WIA フラットベッド ドライバーによって通知されるイベント ハンドルを保持します。

VAL 構造体の pGuid メンバーは、押されたボタンの GUID をポイントするよう設定される必要があります。 ボタンが押されなかった場合、GUID_NULL に設定される必要があります。

CMD_STI_GETSTATUS

WIA フラットベッド ドライバーによって呼び出されて、デバイスのオンライン ステータスを取得します。デバイスにプッシュ ボタンがある場合、ボタンのステータスを取得します。

デバイスがオンラインで、正常に機能している場合は、渡された VAL 構造の lVal メンバーを 1 に設定します。 lVal が 1 以外の値に設定されている場合、デバイスはオフラインと見なされ、コントロール パネルのデバイス テストに失敗します。

デバイスからの割り込みを使用しないボタンをデバイスがサポートしていて、ボタンが押された場合、渡された VAL 構造の pGuid メンバーをボタン イベントの GUID に設定する必要があります。 ボタンが押されなかった場合、pGuid を GUID_NULL 値にポイントします。 これは、保留中のイベントがないことを示しています。

このコマンドは、デバイスがポーリングされたイベントをサポートしている場合、またはデバイスにオンライン ステータスを表示する場合に必要です。