SERCX2_CUSTOM_RECEIVE_CONFIG 構造体 (sercx.h)

SERCX2_CUSTOM_RECEIVE_CONFIG構造体には、シリアル フレームワーク拡張機能 (SerCx2) のバージョン 2 が新しいカスタム受信オブジェクトの構成に使用する情報が含まれています。

構文

typedef struct _SERCX2_CUSTOM_RECEIVE_CONFIG {
  ULONG   Size;
  ULONG   Alignment;
  ULONG   MinimumTransactionLength;
  ULONG   MaximumTransactionLength;
  ULONG   MinimumTransferUnit;
  BOOLEAN Exclusive;
} SERCX2_CUSTOM_RECEIVE_CONFIG, *PSERCX2_CUSTOM_RECEIVE_CONFIG;

メンバー

Size

この構造体のサイズ (バイト単位)。 SerCx2CustomReceiveCreate メソッドは、このメンバーを使用して、呼び出し元が使用している構造体のバージョンを決定します。 この構造体のサイズは、Sercx.h ヘッダー ファイルの将来のバージョンで変更される可能性があります。

Alignment

データ配置の要件。 カスタム受信トランザクションの転送の開始アドレスをメモリ内でどのように配置するかを指定します。 このメンバーを Wdm.h ヘッダー ファイルの適切なFILE_XXX_ALIGNMENT定数に設定します。 たとえば、FILE_WORD_ALIGNMENTは、開始アドレスをメモリ内の 2 バイト境界に配置する必要があることを示します。FILE_LONG_ALIGNMENTは、アドレスを 4 バイト境界に配置する必要があることを示します。

MinimumTransactionLength

カスタム受信トランザクションでのデータ転送の最小長 (バイト単位)。 読み取り (IRP_MJ_READ) 要求内のバッファーの長さが、この最小長より短い場合、SerCx2 はトランザクションにプログラムされた I/O (PIO) を使用します。

MaximumTransactionLength

カスタム受信トランザクションでのデータ転送の最大長 (バイト単位)。 読み取り要求のバッファーのサイズがこの最大長を超える場合、SerCx2 は複数のカスタム受信トランザクションを使用して要求を処理し、各トランザクションを最大長に制限します。

MinimumTransferUnit

最小転送単位。 散布図/収集リスト内の要素によって指定されるバイト数は、最小転送単位の整数倍数である必要があります。 既定の最小転送単位を使用することを示すには、このメンバーを 0 に設定します。 既定の最小転送単位の詳細については、「 DMA_ADAPTER_INFO_V1」を参照してください。

Exclusive

カスタム受信トランザクションを排他的に使用して書き込み (IRP_MJ_READ) 要求を処理するかどうか。 読み取り要求でカスタム受信トランザクションを排他的に使用する必要があることを示すには 、TRUE に 設定します。 読み取り要求でカスタム受信トランザクションと PIO 受信トランザクションの組み合わせを使用できることを示すには 、FALSE に 設定します。

このメンバーを TRUE に設定するのは、カスタム受信トランザクションの最小転送単位が 1 バイトで、トランザクションの最小長が 1 バイトで、トランザクションの読み取りバッファーがメモリ内の任意のバイト境界で開始できる場合のみです。

ExclusiveTRUE の場合、MinimumTransferUnitOverrideAlignmentおよび MinimumTransactionLength メンバーは 0 である必要があります。

このメンバーの値に関係なく、PIO 受信トランザクションは、シリアル コントローラーが D0 デバイスの電源状態を終了して低電力状態に入る前に、受信 FIFO に未読データを保存するために使用されます。

注釈

SerCx2CustomReceiveCreate メソッドは、入力パラメーターとしてSERCX2_CUSTOM_RECEIVE_CONFIG構造体へのポインターを受け取ります。 SerCx2CustomReceiveCreate を呼び出す前に、SERCX2_CUSTOM_RECEIVE_CONFIG_INIT関数を呼び出してこの構造体を初期化します。

要件

要件
サポートされている最小のクライアント Windows 8.1 以降でサポートされます。
Header sercx.h

こちらもご覧ください

DMA_ADAPTER_INFO_V1

IRP_MJ_READ

SERCX2_CUSTOM_RECEIVE_CONFIG_INIT

SerCx2CustomReceiveCreate