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 |