DMA_TRANSFER_INFO_V1 構造体 (wdm.h)

DMA_TRANSFER_INFO_V1構造体には、DMA 転送の I/O データ バッファーを記述する散布/収集リストの割り当て要件が含まれています。

構文

typedef struct _DMA_TRANSFER_INFO_V1 {
  ULONG MapRegisterCount;
  ULONG ScatterGatherElementCount;
  ULONG ScatterGatherListSize;
} DMA_TRANSFER_INFO_V1, *PDMA_TRANSFER_INFO_V1;

メンバー

MapRegisterCount

散布/収集リスト内のすべての物理アドレスを論理アドレスに変換するために必要なマップ レジスタの数。

ScatterGatherElementCount

散布/収集リスト内の散布/収集要素の数。 各要素は、 SCATTER_GATHER_ELEMENT型の構造体です。

ScatterGatherListSize

散布/収集バッファーの必要なサイズ (バイト単位)。 このバッファーには、DMA 転送中に I/O データのバッファーに使用されるメモリを記述する散布/収集リストが含まれています。 散布/収集バッファーは、SCATTER_GATHER_LIST構造体とSCATTER_GATHER_ELEMENT構造体の配列に加えて、オペレーティング システムによって内部的に使用される追加データを格納するのに十分な大きさにする必要があります。

注釈

DMA_TRANSFER_INFO 構造体の V1 メンバーは、DMA_TRANSFER_INFO_V1型の構造体です。

GetDmaTransferInfo ルーチンの MdlOffsetLength パラメーターは、DMA 転送用の I/O データ バッファーを一緒に記述します。 DMA コントローラーをプログラミングする目的で、このバッファーは散布/収集リストによってより便利に記述できます。 (散布/収集リストは、I/O データ バッファー内のメモリを記述しますが、このメモリは含まれません)。ドライバーは GetDmaTransferInfo を 呼び出して、この散布/収集リストの割り当て要件を取得します。 GetDmaTransferInfo は、呼び出し元が指定したDMA_TRANSFER_INFO構造体の V1 メンバーに割り当て要件 書き込みます。

要件

要件
サポートされている最小のクライアント Windows 8 以降でサポートされています。
Header wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む)

こちらもご覧ください

DMA_TRANSFER_INFO

GetDmaTransferInfo

SCATTER_GATHER_LIST