次の方法で共有


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 に残っているデータを破棄します。その後、ドライバー SerCx2 に通知するために SerCx2PioTransmitPurgeFifoComplete を呼び出す必要があります。 SerCx2 はこの通知を受け取り、通知されるまで書き込み要求を完了しません。

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

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

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

必要条件

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

関連項目

EvtSerCx2PioTransmitPurgeFifo の

IRP_MJ_WRITE

SERCX2PIOTRANSMIT

SERIAL_TIMEOUTS

SerCx2PioTransmitCreate を する