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 構造体のサイズ (バイト単位)。 このサイズ値には、この構造体に続く可能性がある配列要素 転送 は含まれません。 この構造体の将来のバージョンに新しいメンバーが追加された場合、Size 値を使用して、使用されている SPB_TRANSFER_LIST 構造体のバージョンを判断できます。
Reserved
オペレーティング システムで使用するために予約されています。 0 に設定します。
TransferCount
転送 配列内の要素の数。 この配列には、少なくとも 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 以降でサポートされています。 |
ヘッダー | spb.h |