次の方法で共有


SerCx2SystemDmaTransmitPurgeFifoComplete 関数 (sercx.h)

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

構文

void SerCx2SystemDmaTransmitPurgeFifoComplete(
  [in] SERCX2SYSTEMDMATRANSMIT SystemDmaTransmit,
  [in] ULONG                   BytesPurged
);

パラメーター

[in] SystemDmaTransmit

システム DMA 送信オブジェクトへの SERCX2SYSTEMDMATRANSMIT ハンドル。 シリアル コントローラー ドライバーは、以前にこのオブジェクトを作成するために、SerCx2SystemDmaTransmitCreate メソッドを呼び出しました。

[in] BytesPurged

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

戻り値

何一つ

備考

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

EvtSerCx2SystemDmaTransmitPurgeFifo 呼び出し に応答して、ドライバーは書き込みバッファーから送信 FIFO へのデータの転送を停止し、転送 FIFO に残っている以前に転送されたデータを破棄します。 消去が完了した後、シリアル コントローラー ドライバーは SerCx2 に通知 SerCx2SystemDmaTransmitPurgeFifoComplete を呼び出す必要があります。 SerCx2 はこの通知を受け取り、通知されるまで書き込み要求を完了しません。

シリアル コントローラー ドライバーは、EvtSerCx2SystemDmaTransmitPurgeFifo 関数の呼び出しに応答する場合にのみ、SerCx2SystemDmaTransmitPurgeFifoComplete 呼び出す必要があります。

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

詳細については、「SerCx2 System-DMA-Transmit Transactions」を参照してください。

必要条件

要件 価値
サポートされる最小クライアント Windows 8.1以降で使用できます。
ターゲット プラットフォーム の 万国
ヘッダー sercx.h
IRQL <= DISPATCH_LEVEL

関連項目

EvtSerCx2SystemDmaTransmitPurgeFifo の

IRP_MJ_WRITE

SERCX2SYSTEMDMATRANSMIT

SERIAL_TIMEOUTS

SerCx2SystemDmaTransmitCreate