次の方法で共有


SCATTER_GATHER_LIST構造体 (wdm.h)

SCATTER_GATHER_LIST 構造体は、DMA 操作の散布図/収集リストを記述します。

構文

typedef struct _SCATTER_GATHER_LIST {
  ULONG                  NumberOfElements;
  ULONG_PTR              Reserved;
  SCATTER_GATHER_ELEMENT Elements[];
} SCATTER_GATHER_LIST, *PSCATTER_GATHER_LIST;

メンバーズ

NumberOfElements

配列の 要素の数 指定します。

Reserved

将来の使用のために予約されています。

Elements

散布図/収集リストを構成する散布図/収集要素の配列を指定します。 各配列要素は、SCATTER_GATHER_ELEMENT型の構造であり、次のように定義されます。

typedef struct _SCATTER_GATHER_ELEMENT {
  PHYSICAL_ADDRESS  Address;
  ULONG  Length;
  ULONG_PTR  Reserved;
} SCATTER_GATHER_ELEMENT, *PSCATTER_GATHER_ELEMENT;

SCATTER_GATHER_ELEMENT 構造体は、物理的に連続する分散/収集領域の長さ (バイト単位) と、この領域の開始物理アドレスを指定します。

備考

分散/収集 DMA を実行するドライバーの場合、GetScatterGatherList または buildScatterGatherList ルーチン は、散布図/収集リストを作成し、このリストをドライバーの AdapterListControl ルーチンに渡します。 この散布図/収集リストは、メモリ内ですぐに SCATTER_GATHER_ELEMENT 配列が続く SCATTER_GATHER_LIST 構造体で構成されます。 この配列内の要素の数は、SCATTER_GATHER_LIST 構造体の NumberOfElements メンバーによって指定されます。

散布図/収集リストの詳細については、「散布図/収集 DMAの使用」を参照してください。

必要条件

要件 価値
ヘッダー wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む)

関連項目

AdapterListControl

BuildScatterGatherList

GetScatterGatherList する