SerCx2PioTransmitPurgeFifoComplete 関数 (sercx.h)

SerCx2PioTransmitPurgeFifoComplete メソッドは、シリアル コントローラー ドライバーがシリアル コントローラー ハードウェアの送信 FIFO からデータの消去を完了したことを、シリアル フレームワーク拡張機能 (SerCx2) のバージョン 2 に通知します。

構文

void SerCx2PioTransmitPurgeFifoComplete(
  [in] SERCX2PIOTRANSMIT PioTransmit,
  [in] ULONG             BytesPurged
);

パラメーター

[in] PioTransmit

PIO 送信オブジェクトへの SERCX2PIOTRANSMIT ハンドル。 このオブジェクトを作成するために 、以前に SerCx2PioTransmitCreate メソッドを呼び出したシリアル コントローラー ドライバー。

[in] BytesPurged

シリアル コントローラー ドライバーが送信 FIFO から消去した未送信データのバイト数。

戻り値

なし

解説

SerCx2 は 、EvtSerCx2PioTransmitPurgeFifo イベント コールバック関数を呼び出して、それが実装されている場合は、現在の PIO 送信トランザクションを終了します。 SerCx2 は以前、クライアントからの書き込み (IRP_MJ_WRITE) 要求に応答してこのトランザクションを開始しました。 たとえば、クライアントが保留中の書き込み要求をキャンセルした場合、または書き込み要求がタイムアウトした場合、SerCx2 はこの関数を呼び出すことができます。詳細については、「 SerCx2 読み取り要求と書き込み要求の処理」を参照してください。

EvtSerCx2PioTransmitPurgeFifo 関数呼び出しに応答して、ドライバーは最初に送信 FIFO に残っているデータを破棄します。その後、ドライバーは SerCx2PioTransmitPurgeFifoComplete を呼び出して SerCx2 に通知する必要があります。 SerCx2 はこの通知を受け取り、通知されるまで書き込み要求を完了しません。

シリアル コントローラー ドライバーは、 EvtSerCx2PioTransmitPurgeFifo 関数の呼び出しへの応答でのみ SerCx2PioTransmitPurgeFifoComplete を呼び出す必要があります。

SerCx2 は BytesPurged パラメーター値を使用して、送信 FIFO が消去されるまでに正常に送信されたバイト数を決定します。 SerCx2 では、タイムアウトする書き込み要求、または 1 つ以上のバイトが送信された後に取り消される書き込み要求を完了するために、この情報が必要です。

詳細については、「 SerCx2 PIO-Transmit トランザクション」を参照してください。

要件

要件
サポートされている最小のクライアント Windows 8.1 以降で使用できます。
対象プラットフォーム ユニバーサル
Header sercx.h
IRQL <= DISPATCH_LEVEL

こちらもご覧ください

EvtSerCx2PioTransmitPurgeFifo

IRP_MJ_WRITE

SERCX2PIOTRANSMIT

SERIAL_TIMEOUTS

SerCx2PioTransmitCreate