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