Share via


SPB_TRANSFER_LIST 構造体 (spb.h)

SPB_TRANSFER_LIST構造体は、I/O 転送シーケンスを記述します。

構文

typedef struct SPB_TRANSFER_LIST {
  ULONG                   Size;
  ULONG                   Reserved;
  ULONG                   TransferCount;
  SPB_TRANSFER_LIST_ENTRY Transfers[1];
} SPB_TRANSFER_LIST, *PSPB_TRANSFER_LIST;

メンバー

Size

SPB_TRANSFER_LIST構造体のサイズ (バイト単位)。 このサイズ値には、この構造体に続く 可能性のある Transfers 配列要素は含まれません。 この構造体の将来のバージョンに新しいメンバーを追加する場合、 Size 値を使用して、 使用されているSPB_TRANSFER_LIST 構造体のバージョンを確認できます。

Reserved

オペレーティング システムで使用するために予約されています。 0 に設定します。

TransferCount

Transfers 配列内の要素の数。 この配列には、少なくとも 1 つの要素が含まれています。

Transfers[1]

このメンバーは、 SPB_TRANSFER_LIST_ENTRY 構造体の配列の最初の要素です。 各配列要素は、I/O 転送シーケンス内の個々の転送を記述します。 配列に複数の要素が含まれている場合、追加の配列要素はメモリ内の SPB_TRANSFER_LIST 構造体の直後に配置されます。 転送は、最初の要素から始まる配列に出現する順序で実行されます。

注釈

IOCTL_SPB_EXECUTE_SEQUENCE要求の入力バッファーは、SPB_TRANSFER_LIST構造体で始まります。 要求された I/O 転送シーケンスの最初の転送は、この構造体の Transfer メンバーで指定されます。 シーケンスに複数の転送が含まれている場合、追加の転送を記述する配列要素は 、SPB_TRANSFER_LIST 構造体の直後に続きます。

IOCTL_SPB_FULL_DUPLEX要求の入力バッファーは、SPB_TRANSFER_LIST構造体で始まります。 この要求 のSPB_TRANSFER_LIST 構造体は、常に 2 つのバッファーを指定します。 この構造体の Transfers メンバーによって記述される最初のバッファーには、デバイスに書き込むデータが含まれています。 2 番目のバッファーは、 SPB_TRANSFER_LIST 構造体の直後にある配列要素によって記述され、デバイスから読み取られたデータを保持するために使用されます。

SPB コントローラー ドライバーで、入力バッファーまたは出力バッファーを使用するカスタム I/O 制御 (IOCTL) 要求がサポートされている場合は、 SPB_TRANSFER_LIST 構造体を使用してこれらのバッファーを記述します。 詳細については、「 カスタム IOCTL にSPB_TRANSFER_LIST構造体を使用する」を参照してください

要件

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

こちらもご覧ください