SERCX2_CUSTOM_TRANSMIT_CONFIG 構造体 (sercx.h)
SERCX2_CUSTOM_TRANSMIT_CONFIG構造体には、シリアル フレームワーク拡張機能 (SerCx2) のバージョン 2 が新しいカスタム送信オブジェクトの構成に使用する情報が含まれています。
構文
typedef struct _SERCX2_CUSTOM_TRANSMIT_CONFIG {
ULONG Size;
ULONG Alignment;
ULONG MinimumTransactionLength;
ULONG MaximumTransactionLength;
ULONG MinimumTransferUnit;
BOOLEAN Exclusive;
} SERCX2_CUSTOM_TRANSMIT_CONFIG, *PSERCX2_CUSTOM_TRANSMIT_CONFIG;
メンバー
Size
この構造体のサイズ (バイト単位)。 SerCx2CustomTransmitCreate メソッドは、このメンバーを使用して、呼び出し元が使用している構造体のバージョンを決定します。 この構造体のサイズは、Sercx.h ヘッダー ファイルの将来のバージョンで変更される可能性があります。
Alignment
データ配置の要件。 カスタム送信トランザクション内の転送の開始アドレスをメモリ内で配置する方法を指定します。 このメンバーを Wdm.h ヘッダー ファイルの適切なFILE_XXX_ALIGNMENT定数に設定します。 たとえば、FILE_WORD_ALIGNMENTは、開始アドレスをメモリ内の 2 バイト境界に配置する必要があることを示します。FILE_LONG_ALIGNMENTは、アドレスを 4 バイト境界に配置する必要があることを示します。
MinimumTransactionLength
カスタム送信トランザクションでのデータ転送の最小長 (バイト単位)。 書き込み (IRP_MJ_WRITE) 要求のバッファーの長さがこの最小長より短い場合、SerCx2 はトランザクションにプログラムされた I/O (PIO) を使用します。
MaximumTransactionLength
カスタム送信トランザクションでのデータ転送の最大長 (バイト単位)。 書き込み要求のバッファーのサイズがこの最大長を超える場合、SerCx2 は複数のカスタム送信トランザクションを使用して要求を処理し、各トランザクションを最大長に制限します。
MinimumTransferUnit
最小転送単位。 カスタム送信トランザクションで転送するバイト数は、最小転送単位の整数倍数である必要があります。 既定の最小転送単位を使用することを示すには、このメンバーを 0 に設定します。 既定の最小転送単位の詳細については、「 DMA_ADAPTER_INFO_V1」を参照してください。
Exclusive
カスタム送信トランザクションを排他的に使用して書き込み (IRP_MJ_WRITE) 要求を処理するかどうか。 書き込み要求でカスタム送信トランザクションを排他的に使用する必要があることを示すには 、TRUE に 設定します。 書き込み要求でカスタム送信トランザクションと PIO 送信トランザクションの組み合わせを使用できることを示すには 、FALSE に 設定します。
カスタム送信トランザクションの最小転送単位が 1 バイトで、最小トランザクション長が 1 バイトで、トランザクションの書き込みバッファーがメモリ内の任意のバイト境界で開始できる場合にのみ、このメンバーを TRUE に設定します。
Exclusive が TRUE の場合、MinimumTransferUnit、Alignment、および MinimumTransactionLength メンバーは 0 である必要があります。
注釈
SerCx2CustomTransmitCreate メソッドは、入力パラメーターとしてSERCX2_CUSTOM_TRANSMIT_CONFIG構造体へのポインターを受け取ります。 SerCx2CustomTransmitCreate を呼び出す前に、SERCX2_CUSTOM_TRANSMIT_CONFIG_INIT関数を呼び出してこの構造体を初期化します。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 8.1 以降でサポートされます。 |
Header | sercx.h |