SerCx2SaveReceiveFifoOnD0Exit 関数 (sercx.h)

SerCx2SaveReceiveFifoOnD0Exit メソッドは、シリアル コントローラー ハードウェアの受信 FIFO に、シリアル コントローラーがデバイスの低電力状態になる前に保存する必要があるデータが含まれていることを、シリアル フレームワーク拡張機能 (SerCx2) のバージョン 2 に通知します。

構文

void SerCx2SaveReceiveFifoOnD0Exit(
  [in] SERCX2PIORECEIVE PioReceive,
  [in] ULONG            FifoSize
);

パラメーター

[in] PioReceive

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

[in] FifoSize

送信 FIFO に含まれる未読データのバイト数。

戻り値

何一つ

備考

シリアル コントローラーが低電力状態になりそうな場合、SerCx2 とシリアル コントローラー ドライバーは、受信 FIFO に残っている可能性がある未読データのバイト数を保存する必要があります。 それ以外の場合、シリアル コントローラーが低電力状態になると、このデータは失われます。 このデータを保存するために SerCx2 からの支援を要求するために、ドライバーは SerCx2SaveReceiveFifoOnD0Exit呼び出します。

ドライバー フレームワークは、ドライバーの EvtDeviceD0Exitまたは EvtDeviceD0ExitPreInterruptsDisabled イベント コールバック関数を呼び出して、D0 デバイスの状態を終了するようにシリアル コントローラーを準備するようにドライバーに指示します。 これに対して、この関数はまず、 (RTS) 行を送信する準備ができている をデアサートして、シリアル接続のもう一方の端にあるデバイスに、それ以上データを送信しないように指示します。 次に、この関数 SerCx2SaveReceiveFifoOnD0Exitを呼び出します。

SerCx2SaveReceiveFifoOnD0Exit 、ドライバーの EvtSerCx2PioReceiveReadBuffer イベント コールバック関数を呼び出して、受信 FIFO からデータを取得します。 この呼び出しでは、SerCx2 はパラメーターとして、低電力状態に入る準備として受信 FIFO から未読データを保存するために SerCx2 が保持する内部ソフトウェア バッファーへのポインターを提供します。

後で、クライアントが読み取り (IRP_MJ_READ) 要求をシリアル コントローラーに送信した後、SerCx2 はこの内部ソフトウェア バッファーから要求内の読み取りバッファーにバイトをコピーします。

必要条件

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

関連項目

EvtDeviceD0Exit の

EvtDeviceD0ExitPreInterruptsDisabled

EvtSerCx2PioReceiveReadBuffer の

IRP_MJ_READ

SERCX2PIORECEIVE

SerCx2PioReceiveCreate