次の方法で共有


EVT_SERCX2_PURGE_FIFOS コールバック関数 (sercx.h)

EvtSerCx2PurgeFifos イベント コールバック関数は、シリアル コントローラー ハードウェアの FIFO バッファーを消去するために、シリアル フレームワーク拡張機能 (SerCx2) のバージョン 2 によって呼び出されます。

構文

EVT_SERCX2_PURGE_FIFOS EvtSercx2PurgeFifos;

void EvtSercx2PurgeFifos(
  [in] WDFDEVICE Device,
  [in] BOOLEAN PurgeRxFifo,
  [in] BOOLEAN PurgeTxFifo
)
{...}

パラメーター

[in] Device

シリアル コントローラーを表すフレームワーク デバイス オブジェクトへの WDFDEVICE ハンドル。 シリアル コントローラー ドライバーは、EvtDriverDeviceAdd コールバック関数でこのオブジェクトを作成しました。 詳細については、「SerCx2InitializeDevice」を参照してください。

[in] PurgeRxFifo

受信 FIFO を消去するかどうか。 このパラメーターが TRUEに設定されている場合は、受信 FIFO を消去します。 FALSE場合は、受信 FIFO を消去しないでください。

[in] PurgeTxFifo

送信 FIFO を消去するかどうか。 このパラメーターが TRUEに設定されている場合は、送信 FIFO を消去します。 FALSE場合は、送信 FIFO を消去しないでください。

戻り値

何一つ

備考

シリアル コントローラー ドライバーでは、この関数を実装する必要があります。 ドライバーは、シリアル コント ローラーのフレームワーク デバイス オブジェクトの初期化を完了する SerCx2InitializeDevice メソッドの呼び出しで関数を登録します。

SerCx2 は、クライアント (周辺機器ドライバー) がシリアル コントローラー ハードウェアの FIFO バッファーの一方または両方を消去する必要がある IOCTL_SERIAL_PURGE 制御要求を送信するときに、EvtSerCx2PurgeFifos 関数を呼び出します。 IOCTL_SERIAL_PURGE 制御要求で保留中の読み取りまたは書き込み (IRP_MJ_READ または IRP_MJ_WRITE) 要求を取り消す必要がある場合、SerCx2 は、EvtSerCx2PurgeFifos 関数を呼び出す前に、これらの要求を取り消します。

SerCx2 は、クライアントがシリアル コントローラー デバイスへの論理接続を開き、この接続へのファイル ハンドルを取得するときに、EvtSerCx2PurgeFifos 関数も呼び出します。 詳細については、「Framework ファイル オブジェクトの」を参照してください。

EvtSerCx2PurgeFifos コールバック関数 を定義するには、まず、定義するコールバック関数の型を識別する関数宣言を指定する必要があります。 Windows には、ドライバーのコールバック関数の種類のセットが用意されています。 コールバック関数の種類を使用して関数を宣言すると、ドライバーのコード分析、静的ドライバー検証ツール (SDV)、およびその他の検証ツールを すると、エラーが検出され、Windows オペレーティング システムのドライバーを記述するための要件になります。

たとえば、MyPurgeFifosという名前の EvtSerCx2PurgeFifos コールバック関数を定義するには、次のコード例に示すように、EVT_SERCX2_PURGE_FIFOS 関数型を使用します。

EVT_SERCX2_PURGE_FIFOS  MyPurgeFifos;

次に、次のようにコールバック関数を実装します。

_Use_decl_annotations_
VOID
  MyPurgeFifos(
    WDFDEVICE  Device,
    BOOLEAN PurgeRxFifo,
    BOOLEAN PurgeTxFifo
    )
  {...}

EVT_SERCX2_PURGE_FIFOS 関数型は、Sercx.h ヘッダー ファイルで定義されています。 コード分析ツールの実行時にエラーをより正確に識別するには、Use_decl_annotations 注釈を関数定義に追加してください。 Use_decl_annotations 注釈により、ヘッダー ファイル内の EVT_SERCX2_PURGE_FIFOS 関数型に適用される注釈が確実に使用されます。 関数宣言の要件の詳細については、「KMDF ドライバーの関数ロール型を使用して関数を宣言する」を参照してください。 Use_decl_annotationsの詳細については、「関数の動作に注釈を付ける」を参照してください。

必要条件

要件 価値
サポートされる最小クライアント Windows 8.1以降で使用できます。
ターゲット プラットフォーム の デスクトップ
ヘッダー sercx.h
IRQL PASSIVE_LEVELで呼び出されます。

関連項目

IOCTL_SERIAL_PURGE

SerCx2InitializeDevice の